import { PluginVariableDefinition } from '../types/index.js';
export interface PluginVariableValue {
    name: string;
    value: string | number | boolean;
    is_sensitive: boolean;
    has_value: boolean;
}
declare class PluginVariablesService {
    private resolvedCache;
    private getCacheKey;
    private invalidateCache;
    /**
     * Get all variable values for a plugin, merged with schema defaults.
     * If forDisplay is true, sensitive values are masked.
     */
    getVariables(pluginId: string, schema: PluginVariableDefinition[], userId?: string, forDisplay?: boolean): Record<string, PluginVariableValue>;
    /**
     * Get resolved variable values for runtime use (decrypted, typed).
     */
    getResolvedVariables(pluginId: string, schema: PluginVariableDefinition[], userId?: string): Record<string, string | number | boolean>;
    /**
     * Set multiple variable values for a plugin.
     */
    setVariables(pluginId: string, variables: Record<string, string | number | boolean>, schema: PluginVariableDefinition[], userId?: string): boolean;
    /**
     * Delete all variables for a plugin (reset to defaults).
     */
    deletePluginVariables(pluginId: string, userId?: string): boolean;
    /**
     * Delete all variables for a user (used on account deletion).
     */
    deleteUserVariables(userId: string): boolean;
}
declare const pluginVariablesService: PluginVariablesService;
export default pluginVariablesService;
//# sourceMappingURL=pluginVariablesService.d.ts.map