import { ApiResult, ApiTokens, AuthUser, EmailCodeLoginRequest, LoginRequest, OAuthProvider, RegisterRequest, SendEmailCodeRequest, UpdateProfileRequest } from './types';
interface AuthResult extends ApiTokens, AuthUser {
}
export declare const OAUTH_POPUP_MESSAGE_TYPE = "auth:oauth:result";
export declare function login(payload: LoginRequest): Promise<ApiResult<AuthResult>>;
export declare function loginWithEmailCode(payload: EmailCodeLoginRequest): Promise<ApiResult<AuthResult>>;
export declare function sendEmailCode(payload: SendEmailCodeRequest): Promise<string>;
export declare function register(payload: RegisterRequest): Promise<ApiResult<AuthResult>>;
export declare function loginWithProvider(provider: OAuthProvider): Promise<ApiResult<AuthResult>>;
export declare function getCurrentUser(): Promise<AuthUser>;
export declare function updateProfile(payload: UpdateProfileRequest): Promise<ApiResult<AuthUser>>;
export declare function uploadAvatar(file: File): Promise<ApiResult<AuthUser>>;
export declare function logout(): Promise<string>;
export {};
//# sourceMappingURL=auth.d.ts.map