export interface PluginCredential {
    id: string;
    user_id: string;
    plugin_id: string;
    api_key: string;
    created_at: number;
    updated_at: number;
}
declare class PluginCredentialsService {
    /**
     * Get API key for a specific plugin and user
     * Returns null if not found, with optional fallback to environment variable
     */
    getApiKey(pluginId: string, keyEnv: string, userId?: string): string | null;
    /**
     * Get all credentials for a user (API keys are masked for security)
     */
    getCredentials(userId?: string): Array<{
        plugin_id: string;
        has_api_key: boolean;
        updated_at: number;
    }>;
    /**
     * Set or update API key for a plugin
     */
    setApiKey(pluginId: string, apiKey: string, userId?: string): boolean;
    /**
     * Delete API key for a plugin
     */
    deleteApiKey(pluginId: string, userId?: string): boolean;
    /**
     * Check if a user has an API key set for a plugin
     */
    hasApiKey(pluginId: string, keyEnv: string, userId?: string): boolean;
    /**
     * Delete all credentials for a user (used when user account is deleted)
     */
    deleteAllUserCredentials(userId: string): boolean;
    /**
     * Delete all credentials for a plugin (used when plugin is deleted)
     */
    deleteAllPluginCredentials(pluginId: string): boolean;
}
declare const pluginCredentialsService: PluginCredentialsService;
export default pluginCredentialsService;
//# sourceMappingURL=pluginCredentialsService.d.ts.map