import { AuthApiKey, AuthSession, AuthSharedLink, AuthUser, UserAdmin } from "../database";
import { ImmichCookie } from "../enum";
import z from 'zod';
export type CookieResponse = {
    isSecure: boolean;
    values: Array<{
        key: ImmichCookie;
        value: string | null;
    }>;
};
export declare const pinCodeRegex: RegExp;
export type AuthDto = {
    user: AuthUser;
    apiKey?: AuthApiKey;
    sharedLink?: AuthSharedLink;
    session?: AuthSession;
};
export declare function mapLoginResponse(entity: UserAdmin, accessToken: string): LoginResponseDto;
declare const LoginCredentialDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    email: z.ZodPipe<z.ZodEmail, z.ZodTransform<string, string>>;
    password: z.ZodString;
}, z.core.$strip>, false>;
export declare class LoginCredentialDto extends LoginCredentialDto_base {
}
declare const LoginResponseDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    accessToken: z.ZodString;
    userId: z.ZodUUID;
    userEmail: z.ZodPipe<z.ZodEmail, z.ZodTransform<string, string>>;
    name: z.ZodString;
    profileImagePath: z.ZodString;
    isAdmin: z.ZodBoolean;
    shouldChangePassword: z.ZodBoolean;
    isOnboarded: z.ZodBoolean;
}, z.core.$strip>, false>;
export declare class LoginResponseDto extends LoginResponseDto_base {
}
declare const LogoutResponseDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    successful: z.ZodBoolean;
    redirectUri: z.ZodString;
}, z.core.$strip>, false>;
export declare class LogoutResponseDto extends LogoutResponseDto_base {
}
declare const SignUpDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    email: z.ZodPipe<z.ZodEmail, z.ZodTransform<string, string>>;
    password: z.ZodString;
    name: z.ZodString;
}, z.core.$strip>, false>;
export declare class SignUpDto extends SignUpDto_base {
}
declare const ChangePasswordDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    password: z.ZodString;
    newPassword: z.ZodString;
    invalidateSessions: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
}, z.core.$strip>, false>;
export declare class ChangePasswordDto extends ChangePasswordDto_base {
}
declare const PinCodeSetupDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    pinCode: z.ZodString;
}, z.core.$strip>, false>;
export declare class PinCodeSetupDto extends PinCodeSetupDto_base {
}
declare const PinCodeResetDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    pinCode: z.ZodOptional<z.ZodString>;
    password: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, false>;
export declare class PinCodeResetDto extends PinCodeResetDto_base {
}
declare const SessionUnlockDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    pinCode: z.ZodOptional<z.ZodString>;
    password: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, false>;
export declare class SessionUnlockDto extends SessionUnlockDto_base {
}
declare const PinCodeChangeDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    pinCode: z.ZodOptional<z.ZodString>;
    password: z.ZodOptional<z.ZodString>;
    newPinCode: z.ZodString;
}, z.core.$strip>, false>;
export declare class PinCodeChangeDto extends PinCodeChangeDto_base {
}
declare const ValidateAccessTokenResponseDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    authStatus: z.ZodBoolean;
}, z.core.$strip>, false>;
export declare class ValidateAccessTokenResponseDto extends ValidateAccessTokenResponseDto_base {
}
declare const OAuthCallbackDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    url: z.ZodString;
    state: z.ZodOptional<z.ZodString>;
    codeVerifier: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, false>;
export declare class OAuthCallbackDto extends OAuthCallbackDto_base {
}
declare const OAuthConfigDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    redirectUri: z.ZodString;
    state: z.ZodOptional<z.ZodString>;
    codeChallenge: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, false>;
export declare class OAuthConfigDto extends OAuthConfigDto_base {
}
declare const OAuthAuthorizeResponseDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    url: z.ZodString;
}, z.core.$strip>, false>;
export declare class OAuthAuthorizeResponseDto extends OAuthAuthorizeResponseDto_base {
}
declare const OAuthBackchannelLogoutDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    logout_token: z.ZodString;
}, z.core.$strip>, false>;
export declare class OAuthBackchannelLogoutDto extends OAuthBackchannelLogoutDto_base {
}
declare const AuthStatusResponseDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    pinCode: z.ZodBoolean;
    password: z.ZodBoolean;
    isElevated: z.ZodBoolean;
    expiresAt: z.ZodOptional<z.ZodString>;
    pinExpiresAt: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, false>;
export declare class AuthStatusResponseDto extends AuthStatusResponseDto_base {
}
export {};
