import { Request, Inspector2 as AWSInspector2 } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSInspector2> = AWSInspector2[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSInspector2, Extras> = AWSInspector2[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class Inspector2 {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "inspector2";
    readonly global: false;
    readonly category: "Other";
    readonly topLevelCalls: readonly ["listAccountPermissions", "listCoverage", "listCoverageStatistics", "listDelegatedAdminAccounts", "listFilters", "listFindings", "listMembers", "listUsageTotals"];
    associateMember: (params: ParamsFrom<'associateMember', Record<string, never>>) => Promise<ReturnTypeFrom<'associateMember'>>;
    batchGetAccountStatus: (params: ParamsFrom<'batchGetAccountStatus', Record<string, never>>) => Promise<ReturnTypeFrom<'batchGetAccountStatus'>>;
    batchGetFreeTrialInfo: (params: ParamsFrom<'batchGetFreeTrialInfo', Record<string, never>>) => Promise<ReturnTypeFrom<'batchGetFreeTrialInfo'>>;
    cancelFindingsReport: (params: ParamsFrom<'cancelFindingsReport', Record<string, never>>) => Promise<ReturnTypeFrom<'cancelFindingsReport'>>;
    createFilter: (params: ParamsFrom<'createFilter', Record<string, never>>) => Promise<ReturnTypeFrom<'createFilter'>>;
    createFindingsReport: (params: ParamsFrom<'createFindingsReport', Record<string, never>>) => Promise<ReturnTypeFrom<'createFindingsReport'>>;
    deleteFilter: (params: ParamsFrom<'deleteFilter', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteFilter'>>;
    describeOrganizationConfiguration: (params: ParamsFrom<'describeOrganizationConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'describeOrganizationConfiguration'>>;
    disable: (params: ParamsFrom<'disable', Record<string, never>>) => Promise<ReturnTypeFrom<'disable'>>;
    disableDelegatedAdminAccount: (params: ParamsFrom<'disableDelegatedAdminAccount', Record<string, never>>) => Promise<ReturnTypeFrom<'disableDelegatedAdminAccount'>>;
    disassociateMember: (params: ParamsFrom<'disassociateMember', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateMember'>>;
    enable: (params: ParamsFrom<'enable', Record<string, never>>) => Promise<ReturnTypeFrom<'enable'>>;
    enableDelegatedAdminAccount: (params: ParamsFrom<'enableDelegatedAdminAccount', Record<string, never>>) => Promise<ReturnTypeFrom<'enableDelegatedAdminAccount'>>;
    getConfiguration: (params: ParamsFrom<'getConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'getConfiguration'>>;
    getDelegatedAdminAccount: (params: ParamsFrom<'getDelegatedAdminAccount', Record<string, never>>) => Promise<ReturnTypeFrom<'getDelegatedAdminAccount'>>;
    getFindingsReportStatus: (params: ParamsFrom<'getFindingsReportStatus', Record<string, never>>) => Promise<ReturnTypeFrom<'getFindingsReportStatus'>>;
    getMember: (params: ParamsFrom<'getMember', Record<string, never>>) => Promise<ReturnTypeFrom<'getMember'>>;
    listAccountPermissions(params: {
        [K in keyof ParamsFrom<'listAccountPermissions', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listAccountPermissions', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listAccountPermissions'>]-?: ReturnTypeFrom<'listAccountPermissions'>[K];
        }['permissions'];
    }>;
    listCoverage(params: {
        [K in keyof ParamsFrom<'listCoverage', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listCoverage', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listCoverage'>]-?: ReturnTypeFrom<'listCoverage'>[K];
        }['coveredResources'];
    }>;
    listCoverageStatistics(params: {
        [K in keyof ParamsFrom<'listCoverageStatistics', {
            next?: string;
        }>]: ParamsFrom<'listCoverageStatistics', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listCoverageStatistics'>]-?: ReturnTypeFrom<'listCoverageStatistics'>[K];
        }['countsByGroup'];
    }>;
    listDelegatedAdminAccounts(params: {
        [K in keyof ParamsFrom<'listDelegatedAdminAccounts', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listDelegatedAdminAccounts', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listDelegatedAdminAccounts'>]-?: ReturnTypeFrom<'listDelegatedAdminAccounts'>[K];
        }['delegatedAdminAccounts'];
    }>;
    listFilters(params: {
        [K in keyof ParamsFrom<'listFilters', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listFilters', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listFilters'>]-?: ReturnTypeFrom<'listFilters'>[K];
        }['filters'];
    }>;
    listFindingAggregations(params: {
        [K in keyof ParamsFrom<'listFindingAggregations', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listFindingAggregations', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listFindingAggregations'>]-?: ReturnTypeFrom<'listFindingAggregations'>[K];
        }['responses'];
    }>;
    listFindings(params: {
        [K in keyof ParamsFrom<'listFindings', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listFindings', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listFindings'>]-?: ReturnTypeFrom<'listFindings'>[K];
        }['findings'];
    }>;
    listMembers(params: {
        [K in keyof ParamsFrom<'listMembers', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listMembers', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listMembers'>]-?: ReturnTypeFrom<'listMembers'>[K];
        }['members'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    listUsageTotals(params: {
        [K in keyof ParamsFrom<'listUsageTotals', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listUsageTotals', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listUsageTotals'>]-?: ReturnTypeFrom<'listUsageTotals'>[K];
        }['totals'];
    }>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateConfiguration: (params: ParamsFrom<'updateConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'updateConfiguration'>>;
    updateFilter: (params: ParamsFrom<'updateFilter', Record<string, never>>) => Promise<ReturnTypeFrom<'updateFilter'>>;
    updateOrganizationConfiguration: (params: ParamsFrom<'updateOrganizationConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'updateOrganizationConfiguration'>>;
    static fromClient(client: AWSInspector2): Inspector2;
    static client(options?: AWSInspector2.Types.ClientConfiguration): Inspector2;
}
export {};
