import { type ISecretProviderConfig, type ISecretProviderService } from '../SecretProviderType';
declare class AWSSecretManagerProvider implements ISecretProviderService {
    private spydraCache;
    private region;
    private accessKey;
    private secretKey;
    private shouldAutoFetchSecret;
    private autoFetchSecretProvider;
    private autoFetchSecretVault;
    private autoFetchSecretRegion;
    private autoFetchSecretName;
    private logger;
    constructor(awsConfig: ISecretProviderConfig, logger?: any);
    private normalizeKey;
    /**
     * 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;
    getAll: (secretName: string, overrideRegion?: any) => Promise<Record<string, any>>;
    get: (secretName: string, secretKey: string) => Promise<any>;
    exist: (secretName: string) => Promise<boolean>;
    delete: (secretName: string) => Promise<void>;
    create: (secretName: string, secrets: Record<string, any>) => Promise<Record<string, any>>;
    deleteMany: (searchString: string) => Promise<void>;
    update: (secretName: string, secrets: Record<string, any>) => Promise<Record<string, any>>;
    generatePassword: (length?: number | undefined) => Promise<string>;
    existenceCheck: () => Promise<Record<any, any>>;
}
export { AWSSecretManagerProvider };
//# sourceMappingURL=AWSSecretManagerProvider.d.ts.map