import { DeletedSecret, KeyVaultSecret, SecretClient, SecretProperties } from '@azure/keyvault-secrets';
import { AzureKeyVaultConfig, AzureKeyVaultCredentials } from './models/config.interface';
import { AzureKeyVaultSecrets, SecretKey, SecretValue } from './models/secrets.interface';
export declare class AzureKeyVault {
    constructor(vaultUrl: string, config: AzureKeyVaultConfig, credentials?: AzureKeyVaultCredentials, client?: SecretClient);
    private secretName;
    get(key: SecretKey): Promise<string | null>;
    getInfo(key: SecretKey): Promise<KeyVaultSecret>;
    set(key: SecretKey, value: SecretValue): Promise<KeyVaultSecret>;
    delete(key: SecretKey): Promise<DeletedSecret | null>;
    purge(key: SecretKey): Promise<void> | null;
    restore(key: SecretKey): Promise<SecretProperties | null>;
    getAll<T extends AzureKeyVaultSecrets>(): Promise<T>;
    getFor<T extends AzureKeyVaultSecrets>(secrets: AzureKeyVaultSecrets, override?: boolean): Promise<T>;
    setAll(secrets: AzureKeyVaultSecrets): Promise<KeyVaultSecret[]>;
    deleteAll(skipShared?: boolean): Promise<void>;
    purgeAll(skipShared?: boolean): Promise<void>;
    restoreAll(skipShared?: boolean): Promise<void>;
    client: SecretClient;
    private prefix;
    private prefixShared;
    private project;
    private group?;
    private env?;
}
//# sourceMappingURL=azure-key-vault.service.d.ts.map