import { type ISecretProviderConfig, type ISecretProviderService } from '../SecretProviderType';
declare class AzureKeyVaultSecretProvider implements ISecretProviderService {
    private spydraCache;
    private vaultName;
    private logger;
    private region;
    private accessKey;
    private secretKey;
    private shouldAutoFetchSecret;
    private autoFetchSecretProvider;
    private autoFetchSecretVault;
    private autoFetchSecretName;
    private applicationId;
    private applicationSecret;
    private tenantId;
    private getVaultName;
    constructor(azureConfig: ISecretProviderConfig, logger?: any);
    /**
     * Fetches the secret automatically based on the configured provider.
     * If the provider is 'aws', it retrieves the secret from AWS Secret Manager.
     * If the provider is 'azure', it retrieves the secret from Azure Key Vault.
     * Throws an error if the required parameters are not provided.
     */
    private autoFetchSecret;
    private normalizeKey;
    get: (secretName: string, secretKey: string) => Promise<any>;
    getAll: (secretName: string, cacheSecret?: any) => Promise<Record<string, any>>;
    exist: (secretName: string) => Promise<boolean>;
    delete: (secretName: string) => Promise<void>;
    create: (secretName: string, secrets: Record<string, any>, options?: Record<string, any>) => Promise<Record<string, any>>;
    deleteMany: (searchString: string) => Promise<void>;
    update: (secretName: string, secrets: Record<string, any>, options?: Record<string, any>) => Promise<Record<string, any>>;
    generatePassword: (length?: number) => Promise<string>;
    existenceCheck: () => Promise<Record<any, any>>;
}
export { AzureKeyVaultSecretProvider };
//# sourceMappingURL=AzureKeyVaultSecretProvider.d.ts.map