export interface ApiKey { id: string; userId: string; name: string; keyHash: string; prefix: string; roles: string[]; scopes: string[]; createdAt: number; lastUsedAt?: number; expiresAt?: number; metadata?: Record; active: boolean; } export interface ApiKeyCreationResult { apiKey: ApiKey; plainTextKey: string; } export interface ApiKeyStore { create(options: { userId: string; name: string; roles?: string[]; scopes?: string[]; expiresAt?: number; metadata?: Record; }): Promise; verify(plainTextKey: string): Promise; get(id: string): Promise; list(userId: string): Promise; revoke(id: string): Promise; updateLastUsed(id: string): Promise; clear(): Promise; } export declare class InMemoryApiKeyStore implements ApiKeyStore { private apiKeys; private keyHashToId; private generateApiKey; private hashApiKey; create(options: { userId: string; name: string; roles?: string[]; scopes?: string[]; expiresAt?: number; metadata?: Record; }): Promise; verify(plainTextKey: string): Promise; get(id: string): Promise; list(userId: string): Promise; revoke(id: string): Promise; updateLastUsed(id: string): Promise; clear(): Promise; } export declare const apiKeyStore: InMemoryApiKeyStore; //# sourceMappingURL=api-key-store.d.ts.map