import { SecretsManager } from "@aws-sdk/client-secrets-manager";
import { ConfigurationProvider, Service, ServiceParameters } from "@webda/core";
declare const AWSSecretsManagerParameters_base: {
    new (...args: any[]): {
        endpoint?: string;
        credentials?: {
            accessKeyId: string;
            secretAccessKey: string;
            sessionToken?: string;
        };
        region?: string;
        type: string;
        url?: string;
        openapi?: import("@webda/core/lib/router").OpenAPIWebdaDefinition;
    };
} & typeof ServiceParameters;
export declare class AWSSecretsManagerParameters extends AWSSecretsManagerParameters_base {
}
/**
 * @WebdaModda
 */
export default class AWSSecretsManager<T extends AWSSecretsManagerParameters = AWSSecretsManagerParameters> extends Service<T> implements ConfigurationProvider {
    _client: SecretsManager;
    /**
     * @inheritdoc
     */
    loadParameters(params: any): AWSSecretsManagerParameters;
    /**
     * @inheritdoc
     */
    computeParameters(): void;
    /**
     * @inheritdoc
     */
    canTriggerConfiguration(_id: string, _callback: () => void): boolean;
    /**
     * @inheritdoc
     */
    getConfiguration(id: string): Promise<Map<string, any>>;
    /**
     * Create a new secret on AWS SecretsManager
     *
     * @param id
     * @param values
     * @param params
     */
    create(id: string, values?: any, params?: any): Promise<void>;
    /**
     * Delete a secret
     *
     * @param SecretId to delete
     * @param RecoveryWindowInDays
     * @param ForceDeleteWithoutRecovery
     */
    delete(SecretId: string, RecoveryWindowInDays?: number, ForceDeleteWithoutRecovery?: boolean): Promise<void>;
    /**
     * Store data in a AWS secret
     *
     * @param SecretId
     * @param value
     */
    put(SecretId: string, value: any): Promise<void>;
    /**
     * Return SecretValue
     *
     * @param SecretId
     * @returns JSON.parse of SecretString
     */
    get(SecretId: string): Promise<any>;
    /**
     * @inheritdoc
     */
    getARNPolicy(accountId: any): {
        Sid: string;
        Effect: string;
        Action: string[];
        Resource: string[];
    };
}
export { AWSSecretsManager };
