import { User } from './clientTypes.ts';
type SharedInput = {
    apiURI: string;
    appId: string;
};
export type SendMagicCodeParams = {
    email: string;
};
export type SendMagicCodeResponse = {
    sent: true;
};
export declare function sendMagicCode({ apiURI, appId, email, }: SharedInput & SendMagicCodeParams): Promise<SendMagicCodeResponse>;
export type VerifyMagicCodeParams = {
    email: string;
    code: string;
};
export type VerifyResponse = {
    user: User;
};
export declare function verifyMagicCode({ apiURI, appId, email, code, }: SharedInput & VerifyMagicCodeParams): Promise<VerifyResponse>;
export type VerifyRefreshTokenParams = {
    refreshToken: string;
};
export declare function verifyRefreshToken({ apiURI, appId, refreshToken, }: SharedInput & VerifyRefreshTokenParams): Promise<VerifyResponse>;
export type ExchangeCodeForTokenParams = {
    code: string;
    codeVerifier?: string;
};
export declare function exchangeCodeForToken({ apiURI, appId, code, codeVerifier, }: SharedInput & ExchangeCodeForTokenParams): Promise<VerifyResponse>;
export type SignInWithIdTokenParams = {
    nonce?: string;
    idToken: string;
    clientName: string;
    refreshToken?: string;
};
export declare function signInWithIdToken({ apiURI, appId, nonce, idToken, clientName, refreshToken, }: SharedInput & SignInWithIdTokenParams): Promise<VerifyResponse>;
export type SignoutParams = {
    refreshToken: string;
};
export declare function signOut({ apiURI, appId, refreshToken, }: SharedInput & SignoutParams): Promise<{}>;
export {};
//# sourceMappingURL=authAPI.d.ts.map