import { Request, DevOpsGuru as AWSDevOpsGuru } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSDevOpsGuru> = AWSDevOpsGuru[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSDevOpsGuru, Extras> = AWSDevOpsGuru[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class DevOpsGuru {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "devops-guru";
    readonly global: false;
    readonly category: "Other";
    readonly topLevelCalls: readonly ["getCostEstimation", "listNotificationChannels"];
    addNotificationChannel: (params: ParamsFrom<'addNotificationChannel', Record<string, never>>) => Promise<ReturnTypeFrom<'addNotificationChannel'>>;
    deleteInsight: (params: ParamsFrom<'deleteInsight', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteInsight'>>;
    describeAccountHealth: (params: ParamsFrom<'describeAccountHealth', Record<string, never>>) => Promise<ReturnTypeFrom<'describeAccountHealth'>>;
    describeAccountOverview: (params: ParamsFrom<'describeAccountOverview', Record<string, never>>) => Promise<ReturnTypeFrom<'describeAccountOverview'>>;
    describeAnomaly: (params: ParamsFrom<'describeAnomaly', Record<string, never>>) => Promise<ReturnTypeFrom<'describeAnomaly'>>;
    describeEventSourcesConfig: (params: ParamsFrom<'describeEventSourcesConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'describeEventSourcesConfig'>>;
    describeFeedback: (params: ParamsFrom<'describeFeedback', Record<string, never>>) => Promise<ReturnTypeFrom<'describeFeedback'>>;
    describeInsight: (params: ParamsFrom<'describeInsight', Record<string, never>>) => Promise<ReturnTypeFrom<'describeInsight'>>;
    describeOrganizationHealth: (params: ParamsFrom<'describeOrganizationHealth', Record<string, never>>) => Promise<ReturnTypeFrom<'describeOrganizationHealth'>>;
    describeOrganizationOverview: (params: ParamsFrom<'describeOrganizationOverview', Record<string, never>>) => Promise<ReturnTypeFrom<'describeOrganizationOverview'>>;
    describeOrganizationResourceCollectionHealth: (params: ParamsFrom<'describeOrganizationResourceCollectionHealth', Record<string, never>>) => Promise<ReturnTypeFrom<'describeOrganizationResourceCollectionHealth'>>;
    describeResourceCollectionHealth: (params: ParamsFrom<'describeResourceCollectionHealth', Record<string, never>>) => Promise<ReturnTypeFrom<'describeResourceCollectionHealth'>>;
    describeServiceIntegration: (params: ParamsFrom<'describeServiceIntegration', Record<string, never>>) => Promise<ReturnTypeFrom<'describeServiceIntegration'>>;
    getCostEstimation: (params: ParamsFrom<'getCostEstimation', Record<string, never>>) => Promise<ReturnTypeFrom<'getCostEstimation'>>;
    getResourceCollection: (params: ParamsFrom<'getResourceCollection', Record<string, never>>) => Promise<ReturnTypeFrom<'getResourceCollection'>>;
    listAnomaliesForInsight: (params: ParamsFrom<'listAnomaliesForInsight', Record<string, never>>) => Promise<ReturnTypeFrom<'listAnomaliesForInsight'>>;
    listAnomalousLogGroups: (params: ParamsFrom<'listAnomalousLogGroups', Record<string, never>>) => Promise<ReturnTypeFrom<'listAnomalousLogGroups'>>;
    listEvents(params: {
        [K in keyof ParamsFrom<'listEvents', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listEvents', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listEvents'>]-?: ReturnTypeFrom<'listEvents'>[K];
        }['Events'];
    }>;
    listInsights: (params: ParamsFrom<'listInsights', Record<string, never>>) => Promise<ReturnTypeFrom<'listInsights'>>;
    listMonitoredResources: (params: ParamsFrom<'listMonitoredResources', Record<string, never>>) => Promise<ReturnTypeFrom<'listMonitoredResources'>>;
    listNotificationChannels(params: {
        [K in keyof ParamsFrom<'listNotificationChannels', {
            next?: string;
        }>]: ParamsFrom<'listNotificationChannels', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listNotificationChannels'>]-?: ReturnTypeFrom<'listNotificationChannels'>[K];
        }['Channels'];
    }>;
    listOrganizationInsights: (params: ParamsFrom<'listOrganizationInsights', Record<string, never>>) => Promise<ReturnTypeFrom<'listOrganizationInsights'>>;
    listRecommendations(params: {
        [K in keyof ParamsFrom<'listRecommendations', {
            next?: string;
        }>]: ParamsFrom<'listRecommendations', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listRecommendations'>]-?: ReturnTypeFrom<'listRecommendations'>[K];
        }['Recommendations'];
    }>;
    putFeedback: (params: ParamsFrom<'putFeedback', Record<string, never>>) => Promise<ReturnTypeFrom<'putFeedback'>>;
    removeNotificationChannel: (params: ParamsFrom<'removeNotificationChannel', Record<string, never>>) => Promise<ReturnTypeFrom<'removeNotificationChannel'>>;
    searchInsights: (params: ParamsFrom<'searchInsights', Record<string, never>>) => Promise<ReturnTypeFrom<'searchInsights'>>;
    searchOrganizationInsights: (params: ParamsFrom<'searchOrganizationInsights', Record<string, never>>) => Promise<ReturnTypeFrom<'searchOrganizationInsights'>>;
    startCostEstimation: (params: ParamsFrom<'startCostEstimation', Record<string, never>>) => Promise<ReturnTypeFrom<'startCostEstimation'>>;
    updateEventSourcesConfig: (params: ParamsFrom<'updateEventSourcesConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'updateEventSourcesConfig'>>;
    updateResourceCollection: (params: ParamsFrom<'updateResourceCollection', Record<string, never>>) => Promise<ReturnTypeFrom<'updateResourceCollection'>>;
    updateServiceIntegration: (params: ParamsFrom<'updateServiceIntegration', Record<string, never>>) => Promise<ReturnTypeFrom<'updateServiceIntegration'>>;
    static fromClient(client: AWSDevOpsGuru): DevOpsGuru;
    static client(options?: AWSDevOpsGuru.Types.ClientConfiguration): DevOpsGuru;
}
export {};
