import * as IInfrastructure from "./IInfrastructure";
import KeyVault from "./keyvault";
import * as Resource from "./resource";
export declare class BaseDeployKeyVaultInfrastructure {
    private baseKeyVault;
    constructor(baseKeyVault: KeyVaultInfrastructure);
    setSecret(secretName: string, password: string): Promise<this>;
}
export declare class KeyVaultInfrastructure extends KeyVault implements IInfrastructure.IInfrastructure<BaseDeployKeyVaultInfrastructure> {
    keyVaultFullName: string;
    private readonly promiseGate;
    initialize(resource: KeyVault | null, targetDirectoryPath: string): this;
    setup(): Promise<void>;
    hydrate(resourcesInEnvironment: Resource.Resource[], deploymentType: Resource.DeployType): Promise<this>;
    deployResource(): Promise<this>;
    getBaseDeployClassInstance(): Promise<BaseDeployKeyVaultInfrastructure>;
}
