import type { AppleLinkRequest, AppleLinkResponse, AppleNativeChallengeResponse, ApplePendingSignupResponse, AppleSignInRequest, AppleSignInResponse, AppleOAuthHandoffExchangeRequest, AppleOAuthHandoffExchangeResponse, AppleOAuthLinkStartRequest, AppleOAuthLinkStartResponse, ApiKeyLoginRequest, CliApiKeyStatusResponse, CliLoginApproveRequest, CliLoginApproveResponse, CliLoginPollRequest, CliLoginPollResponse, CliLoginStartResponse, CliLoginStatusResponse, CliWebLaunchStartRequest, CliWebLaunchStartResponse, CompleteXSignupRequest, CompleteXSignupResponse, CompleteAppleSignupRequest, CompleteAppleSignupResponse, CompleteGoogleSignupRequest, CompleteGoogleSignupResponse, GoogleAppleLinkRequest, GoogleAppleLinkResponse, GoogleAppleSignInRequest, GoogleAppleSignInResponse, GoogleOneTapExchangeRequest, GoogleOneTapExchangeResponse, GooglePendingSignupResponse, LoginRequest, LoginResponse, LogoutResponse, RegisterRequest, RegisterResponse, StarterProfileAssetsResponse, UnlinkGoogleResponse, UnlinkXResponse, UsernameAvailableResponse, XPendingSignupResponse, CreateCliApiKeyResponse } from '@playdrop/types';
type ApiResponseLike<T> = {
    status: number;
    body: T;
    headers: Headers;
};
type RequestExecutor = <T>(input: {
    method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
    path: string;
    body?: unknown;
    headers?: Record<string, string>;
    signal?: AbortSignal;
}) => Promise<ApiResponseLike<T>>;
type ErrorHandler = (response: ApiResponseLike<unknown>, defaultMessage: string) => never;
export declare function buildAuthApiClientMethods(input: {
    request: RequestExecutor;
    handleApiError: ErrorHandler;
}): {
    login(loginRequest: LoginRequest): Promise<LoginResponse>;
    loginWithApiKey(loginRequest: ApiKeyLoginRequest): Promise<LoginResponse>;
    startCliLogin(): Promise<CliLoginStartResponse>;
    pollCliLogin(pollRequest: CliLoginPollRequest): Promise<CliLoginPollResponse>;
    fetchCliLoginStatus(requestId: string): Promise<CliLoginStatusResponse>;
    approveCliLogin(approveRequest: CliLoginApproveRequest): Promise<CliLoginApproveResponse>;
    startCliWebLaunch(startRequest: CliWebLaunchStartRequest): Promise<CliWebLaunchStartResponse>;
    register(registerRequest: RegisterRequest): Promise<RegisterResponse>;
    fetchStarterProfileAssets(): Promise<StarterProfileAssetsResponse>;
    logout(): Promise<LogoutResponse>;
    unlinkX(): Promise<UnlinkXResponse>;
    unlinkGoogle(): Promise<UnlinkGoogleResponse>;
    createAppleOAuthLinkStart(startRequest: AppleOAuthLinkStartRequest): Promise<AppleOAuthLinkStartResponse>;
    createAppleNativeChallenge(): Promise<AppleNativeChallengeResponse>;
    exchangeAppleOAuthHandoff(exchangeRequest: AppleOAuthHandoffExchangeRequest): Promise<AppleOAuthHandoffExchangeResponse>;
    signInWithApple(signInRequest: AppleSignInRequest): Promise<AppleSignInResponse>;
    linkApple(linkRequest: AppleLinkRequest): Promise<AppleLinkResponse>;
    signInWithGoogleApple(signInRequest: GoogleAppleSignInRequest): Promise<GoogleAppleSignInResponse>;
    linkGoogleApple(linkRequest: GoogleAppleLinkRequest): Promise<GoogleAppleLinkResponse>;
    unlinkApple(): Promise<AppleLinkResponse>;
    fetchGooglePendingSignup(token: string): Promise<GooglePendingSignupResponse>;
    checkUsernameAvailable(username: string): Promise<UsernameAvailableResponse>;
    completeGoogleSignup(signupRequest: CompleteGoogleSignupRequest): Promise<CompleteGoogleSignupResponse>;
    fetchXPendingSignup(token: string): Promise<XPendingSignupResponse>;
    fetchApplePendingSignup(token: string): Promise<ApplePendingSignupResponse>;
    completeXSignup(signupRequest: CompleteXSignupRequest): Promise<CompleteXSignupResponse>;
    completeAppleSignup(signupRequest: CompleteAppleSignupRequest): Promise<CompleteAppleSignupResponse>;
    exchangeGoogleOneTapCredential(oneTapRequest: GoogleOneTapExchangeRequest): Promise<GoogleOneTapExchangeResponse>;
    fetchCliApiKeyStatus(): Promise<CliApiKeyStatusResponse>;
    createCliApiKey(): Promise<CreateCliApiKeyResponse>;
};
export {};
//# sourceMappingURL=auth.d.ts.map