/**
 * CredentialStorage
 * Handles persistence of passkey credentials
 */
export interface StoredCredential {
    credentialId: string;
    publicKey: string;
    suiAddress: string;
    createdAt: number;
    lastUsedAt?: number;
    rpId: string;
}
export interface StoredCredentials {
    credentials: StoredCredential[];
    version: number;
}
export interface CredentialStorage {
    get(): Promise<StoredCredentials | null>;
    set(credentials: StoredCredentials): Promise<void>;
    clear(): Promise<void>;
}
/**
 * Default localStorage implementation of CredentialStorage
 */
export declare class LocalStorageCredentialStorage implements CredentialStorage {
    private key;
    constructor(key?: string);
    get(): Promise<StoredCredentials | null>;
    set(credentials: StoredCredentials): Promise<void>;
    clear(): Promise<void>;
}
/**
 * Helper functions for credential management
 */
export declare function createEmptyStorage(): StoredCredentials;
export declare function addCredential(storage: StoredCredentials, credential: StoredCredential): StoredCredentials;
export declare function findCredentialByAddress(storage: StoredCredentials, address: string): StoredCredential | undefined;
export declare function findCredentialById(storage: StoredCredentials, credentialId: string): StoredCredential | undefined;
export declare function findCredentialsByRpId(storage: StoredCredentials, rpId: string): StoredCredential[];
export declare function removeCredential(storage: StoredCredentials, credentialId: string): StoredCredentials;
export declare function updateLastUsed(storage: StoredCredentials, credentialId: string): StoredCredentials;
