import ApplicationInsights from "./applicationInsights";
import * as IInfrastructure from "./IInfrastructure";
import * as Resource from "./resource";
export declare class BaseDeployApplicationInsightsInfrastructure {
    readonly instrumentationKey: string;
    constructor(instrumentationKey: string);
    getInstrumentationKey(): string;
}
export declare class ApplicationInsightsInfrastructure extends ApplicationInsights implements IInfrastructure.IInfrastructure<BaseDeployApplicationInsightsInfrastructure> {
    appInsightsFullName: string;
    private readonly promiseGate;
    initialize(resource: ApplicationInsights | null, targetDirectoryPath: string): this;
    setup(): Promise<void>;
    hydrate(resourcesInEnvironment: Resource.Resource[], deploymentType: Resource.DeployType): Promise<this>;
    deployResource(): Promise<this>;
    getBaseDeployClassInstance(): Promise<BaseDeployApplicationInsightsInfrastructure>;
}
