import { TokenStorage } from './types';
/**
 * Default localStorage-based token storage
 * Works in browsers and React Native with AsyncStorage polyfill
 */
export declare class LocalTokenStorage implements TokenStorage {
    private accessTokenKey;
    private refreshTokenKey;
    constructor(keyPrefix?: string);
    getAccessToken(): string | null;
    setAccessToken(token: string): void;
    getRefreshToken(): string | null;
    setRefreshToken(token: string): void;
    clearTokens(): void;
}
/**
 * Memory-based token storage (tokens lost on page refresh)
 * Useful for server-side rendering or when localStorage is not available
 */
export declare class MemoryTokenStorage implements TokenStorage {
    private accessToken;
    private refreshToken;
    getAccessToken(): string | null;
    setAccessToken(token: string): void;
    getRefreshToken(): string | null;
    setRefreshToken(token: string): void;
    clearTokens(): void;
}
/**
 * Cookie-based token storage (for SSR or when you prefer cookies)
 * Note: Requires proper HTTPS and SameSite configuration in production
 */
export declare class CookieTokenStorage implements TokenStorage {
    private accessTokenKey;
    private refreshTokenKey;
    constructor(keyPrefix?: string);
    private getCookie;
    private setCookie;
    private deleteCookie;
    getAccessToken(): string | null;
    setAccessToken(token: string): void;
    getRefreshToken(): string | null;
    setRefreshToken(token: string): void;
    clearTokens(): void;
}
//# sourceMappingURL=storage.d.ts.map