/**
 * React Native Unified Auth Provider
 *
 * Creates a platform-specific auth provider that automatically selects the appropriate storage:
 * - Web: Uses IndexedDBTokenStorage for DPoP (CryptoKey persistence) or LocalStorage
 * - Mobile: Uses AsyncStorage-based storage
 */
import { DefaultAuthProvider, AccountOwnerType } from '@explorins/pers-sdk/core';
import type { TokenStorage } from '@explorins/pers-sdk/core';
/**
 * Configuration for React Native Auth Provider
 */
export interface ReactNativeAuthConfig {
    /** Custom storage key prefix */
    keyPrefix?: string;
    /** Enable debug logging */
    debug?: boolean;
    /** Custom token storage implementation */
    customStorage?: TokenStorage;
    /** Authentication type (default: AccountOwnerType.USER) */
    authType?: AccountOwnerType;
    /** DPoP Configuration (optional) */
    dpop?: {
        enabled?: boolean;
        cryptoProvider?: import('@explorins/pers-sdk/core').DPoPCryptoProvider;
    };
}
/**
 * Create a React Native auth provider with platform-appropriate storage
 *
 * Automatically selects storage implementation:
 * - Web: Uses LocalStorageTokenStorage (from core SDK)
 * - Mobile: Uses AsyncStorageTokenStorage (React Native specific)
 *
 * @param projectKey - PERS project key
 * @param config - Configuration options
 * @returns DefaultAuthProvider configured for the current platform
 */
export declare function createReactNativeAuthProvider(projectKey: string, config?: ReactNativeAuthConfig): DefaultAuthProvider;
//# sourceMappingURL=react-native-auth-provider.d.ts.map