/**
 * Service for managing secrets in the Trusys Secrets Vault (database)
 * All secrets are encrypted before storage and decrypted when retrieved
 */
export declare class TrusysSecretsVaultService {
    private masterSecretKey;
    constructor(masterSecretKey: string);
    /**
     * Derive a key from the master secret key using scrypt
     */
    private deriveKey;
    /**
     * Encrypt a value using AES-256-GCM
     */
    private encryptValue;
    /**
     * Decrypt a value using AES-256-GCM
     */
    private decryptValue;
    /**
     * Encrypt all values in a secrets object
     */
    private encryptSecrets;
    /**
     * Decrypt all values in a secrets object
     */
    private decryptSecrets;
    /**
     * Get a single secret value by secret name and key
     */
    get(secretName: string, secretKey: string): Promise<string>;
    /**
     * Get all secrets for a given secret name
     */
    getAll(secretName: string): Promise<Record<string, any>>;
    /**
     * Check if a secret exists
     */
    exist(secretName: string): Promise<boolean>;
    /**
     * Create a new secret
     */
    create(secretName: string, secrets: Record<string, any>): Promise<Record<string, any>>;
    /**
     * Update an existing secret (merges with existing secrets)
     */
    update(secretName: string, secrets: Record<string, any>): Promise<Record<string, any>>;
    /**
     * Delete a secret
     */
    delete(secretName: string): Promise<void>;
    /**
     * Delete multiple secrets matching a search string
     */
    deleteMany(searchString: string): Promise<void>;
}
//# sourceMappingURL=TrusysSecretsVaultService.d.ts.map