/** Record returned from bot API key queries (never includes key_hash). */
export interface BotApiKeyRecord {
    id: string;
    name: string;
    user_id: string;
    scopes: string[];
    expires_at: Date | null;
    last_used_at: Date | null;
    created_at: Date;
    updated_at: Date;
}
/**
 * Generate a new API key for a bot account.
 * Returns the raw key once — it is never stored in plaintext.
 */
export declare function generateBotApiKey(name: string, userId: string, scopes?: string[], expiresAt?: Date): Promise<{
    id: string;
    rawKey: string;
}>;
/**
 * Validate a raw bot API key.
 * Returns the key record (with user_id) if valid, null otherwise.
 */
export declare function validateBotApiKey(rawKey: string): Promise<BotApiKeyRecord | null>;
/**
 * Revoke (delete) a bot API key by ID.
 */
export declare function revokeBotApiKey(id: string): Promise<boolean>;
/**
 * List API keys for a bot account (without hashes).
 */
export declare function listBotApiKeys(userId: string): Promise<BotApiKeyRecord[]>;
