import { OAuthProviders } from "@turnkey/sdk-types";
export declare const OAUTH_INTENT_ADD_PROVIDER = "addProvider";
export declare const OAUTH_ADD_PROVIDER_METADATA_KEY = "oauth_add_provider_metadata";
export declare const OAUTH_STATE_KEY = "oauth_state";
export type OAuthAddProviderMetadata = {
    organizationId: string;
    userId: string;
    stampWith?: string;
    successPageDuration?: number;
};
/** Provider type for PKCE-based OAuth */
export type PKCEProvider = OAuthProviders.FACEBOOK | OAuthProviders.DISCORD | OAuthProviders.X;
/**
 * Stores OAuth add provider metadata in local storage
 * Used for addOauthProvider flow if opening in-page
 */
export declare function storeOAuthAddProviderMetadata(metadata: OAuthAddProviderMetadata): void;
/**
 * Retrieves OAuth add provider metadata from local storage
 */
export declare function getOAuthAddProviderMetadata(): OAuthAddProviderMetadata | null;
/**
 * Gets the verifier key name for a PKCE provider
 */
export declare function getPKCEVerifierKey(provider: PKCEProvider): string;
/**
 * Retrieves and removes the PKCE verifier from local storage
 * @param provider - The OAuth provider
 * @returns The verifier string
 * @throws TurnkeyError if verifier is not found
 */
export declare function consumePKCEVerifier(provider: PKCEProvider): string;
/**
 * Stores the PKCE verifier in local storage
 * @param provider - The OAuth provider
 * @param verifier - The verifier string to store
 */
export declare function storePKCEVerifier(provider: PKCEProvider, verifier: string): void;
/**
 * Checks if a PKCE verifier exists for a provider (without consuming it)
 * @param provider - The OAuth provider
 * @returns true if verifier exists
 */
export declare function hasPKCEVerifier(provider: PKCEProvider): boolean;
/**
 * Stores the OAuth state string in local storage for later validation
 * @param state - The OAuth state string to store
 */
export declare function storeOAuthState(state: string): void;
/**
 * Consumes the OAuth state string from local storage for validation
 * @param returnedState - The OAuth state string returned from the provider
 */
export declare function consumeOAuthState(returnedState: string): void;
/**
 * Clears all OAuth-related data from local storage
 */
export declare function clearAllOAuthData(): void;
//# sourceMappingURL=storage.d.ts.map