import { Request, ApplicationInsights as AWSApplicationInsights } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSApplicationInsights> = AWSApplicationInsights[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSApplicationInsights, Extras> = AWSApplicationInsights[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class ApplicationInsights {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "applicationinsights";
    readonly global: false;
    readonly category: "Other";
    readonly topLevelCalls: readonly ["listApplications", "listConfigurationHistory", "listProblems"];
    createApplication: (params: ParamsFrom<'createApplication', Record<string, never>>) => Promise<ReturnTypeFrom<'createApplication'>>;
    createComponent: (params: ParamsFrom<'createComponent', Record<string, never>>) => Promise<ReturnTypeFrom<'createComponent'>>;
    createLogPattern: (params: ParamsFrom<'createLogPattern', Record<string, never>>) => Promise<ReturnTypeFrom<'createLogPattern'>>;
    deleteApplication: (params: ParamsFrom<'deleteApplication', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteApplication'>>;
    deleteComponent: (params: ParamsFrom<'deleteComponent', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteComponent'>>;
    deleteLogPattern: (params: ParamsFrom<'deleteLogPattern', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteLogPattern'>>;
    describeApplication: (params: ParamsFrom<'describeApplication', Record<string, never>>) => Promise<ReturnTypeFrom<'describeApplication'>>;
    describeComponent: (params: ParamsFrom<'describeComponent', Record<string, never>>) => Promise<ReturnTypeFrom<'describeComponent'>>;
    describeComponentConfiguration: (params: ParamsFrom<'describeComponentConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'describeComponentConfiguration'>>;
    describeComponentConfigurationRecommendation: (params: ParamsFrom<'describeComponentConfigurationRecommendation', Record<string, never>>) => Promise<ReturnTypeFrom<'describeComponentConfigurationRecommendation'>>;
    describeLogPattern: (params: ParamsFrom<'describeLogPattern', Record<string, never>>) => Promise<ReturnTypeFrom<'describeLogPattern'>>;
    describeObservation: (params: ParamsFrom<'describeObservation', Record<string, never>>) => Promise<ReturnTypeFrom<'describeObservation'>>;
    describeProblem: (params: ParamsFrom<'describeProblem', Record<string, never>>) => Promise<ReturnTypeFrom<'describeProblem'>>;
    describeProblemObservations: (params: ParamsFrom<'describeProblemObservations', Record<string, never>>) => Promise<ReturnTypeFrom<'describeProblemObservations'>>;
    listApplications: (params: ParamsFrom<'listApplications', Record<string, never>>) => Promise<ReturnTypeFrom<'listApplications'>>;
    listComponents: (params: ParamsFrom<'listComponents', Record<string, never>>) => Promise<ReturnTypeFrom<'listComponents'>>;
    listConfigurationHistory: (params: ParamsFrom<'listConfigurationHistory', Record<string, never>>) => Promise<ReturnTypeFrom<'listConfigurationHistory'>>;
    listLogPatternSets: (params: ParamsFrom<'listLogPatternSets', Record<string, never>>) => Promise<ReturnTypeFrom<'listLogPatternSets'>>;
    listLogPatterns: (params: ParamsFrom<'listLogPatterns', Record<string, never>>) => Promise<ReturnTypeFrom<'listLogPatterns'>>;
    listProblems: (params: ParamsFrom<'listProblems', Record<string, never>>) => Promise<ReturnTypeFrom<'listProblems'>>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateApplication: (params: ParamsFrom<'updateApplication', Record<string, never>>) => Promise<ReturnTypeFrom<'updateApplication'>>;
    updateComponent: (params: ParamsFrom<'updateComponent', Record<string, never>>) => Promise<ReturnTypeFrom<'updateComponent'>>;
    updateComponentConfiguration: (params: ParamsFrom<'updateComponentConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'updateComponentConfiguration'>>;
    updateLogPattern: (params: ParamsFrom<'updateLogPattern', Record<string, never>>) => Promise<ReturnTypeFrom<'updateLogPattern'>>;
    static fromClient(client: AWSApplicationInsights): ApplicationInsights;
    static client(options?: AWSApplicationInsights.Types.ClientConfiguration): ApplicationInsights;
}
export {};
