import { Request, AccessAnalyzer as AWSAccessAnalyzer } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSAccessAnalyzer> = AWSAccessAnalyzer[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSAccessAnalyzer, Extras> = AWSAccessAnalyzer[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class AccessAnalyzer {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "access-analyzer";
    readonly global: false;
    readonly category: "Security, Identity & Compliance";
    readonly topLevelCalls: readonly ["listAnalyzers", "listPolicyGenerations"];
    applyArchiveRule: (params: ParamsFrom<'applyArchiveRule', Record<string, never>>) => Promise<ReturnTypeFrom<'applyArchiveRule'>>;
    cancelPolicyGeneration: (params: ParamsFrom<'cancelPolicyGeneration', Record<string, never>>) => Promise<ReturnTypeFrom<'cancelPolicyGeneration'>>;
    createAccessPreview: (params: ParamsFrom<'createAccessPreview', Record<string, never>>) => Promise<ReturnTypeFrom<'createAccessPreview'>>;
    createAnalyzer: (params: ParamsFrom<'createAnalyzer', Record<string, never>>) => Promise<ReturnTypeFrom<'createAnalyzer'>>;
    createArchiveRule: (params: ParamsFrom<'createArchiveRule', Record<string, never>>) => Promise<ReturnTypeFrom<'createArchiveRule'>>;
    deleteAnalyzer: (params: ParamsFrom<'deleteAnalyzer', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteAnalyzer'>>;
    deleteArchiveRule: (params: ParamsFrom<'deleteArchiveRule', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteArchiveRule'>>;
    getAccessPreview: (params: ParamsFrom<'getAccessPreview', Record<string, never>>) => Promise<ReturnTypeFrom<'getAccessPreview'>>;
    getAnalyzedResource: (params: ParamsFrom<'getAnalyzedResource', Record<string, never>>) => Promise<ReturnTypeFrom<'getAnalyzedResource'>>;
    getAnalyzer: (params: ParamsFrom<'getAnalyzer', Record<string, never>>) => Promise<ReturnTypeFrom<'getAnalyzer'>>;
    getArchiveRule: (params: ParamsFrom<'getArchiveRule', Record<string, never>>) => Promise<ReturnTypeFrom<'getArchiveRule'>>;
    getFinding: (params: ParamsFrom<'getFinding', Record<string, never>>) => Promise<ReturnTypeFrom<'getFinding'>>;
    getGeneratedPolicy: (params: ParamsFrom<'getGeneratedPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getGeneratedPolicy'>>;
    listAccessPreviewFindings(params: {
        [K in keyof ParamsFrom<'listAccessPreviewFindings', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listAccessPreviewFindings', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listAccessPreviewFindings'>]-?: ReturnTypeFrom<'listAccessPreviewFindings'>[K];
        }['findings'];
    }>;
    listAccessPreviews(params: {
        [K in keyof ParamsFrom<'listAccessPreviews', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listAccessPreviews', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listAccessPreviews'>]-?: ReturnTypeFrom<'listAccessPreviews'>[K];
        }['accessPreviews'];
    }>;
    listAnalyzedResources(params: {
        [K in keyof ParamsFrom<'listAnalyzedResources', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listAnalyzedResources', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listAnalyzedResources'>]-?: ReturnTypeFrom<'listAnalyzedResources'>[K];
        }['analyzedResources'];
    }>;
    listAnalyzers(params: {
        [K in keyof ParamsFrom<'listAnalyzers', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listAnalyzers', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listAnalyzers'>]-?: ReturnTypeFrom<'listAnalyzers'>[K];
        }['analyzers'];
    }>;
    listArchiveRules(params: {
        [K in keyof ParamsFrom<'listArchiveRules', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listArchiveRules', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listArchiveRules'>]-?: ReturnTypeFrom<'listArchiveRules'>[K];
        }['archiveRules'];
    }>;
    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'];
    }>;
    listPolicyGenerations(params: {
        [K in keyof ParamsFrom<'listPolicyGenerations', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listPolicyGenerations', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listPolicyGenerations'>]-?: ReturnTypeFrom<'listPolicyGenerations'>[K];
        }['policyGenerations'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    startPolicyGeneration: (params: ParamsFrom<'startPolicyGeneration', Record<string, never>>) => Promise<ReturnTypeFrom<'startPolicyGeneration'>>;
    startResourceScan: (params: ParamsFrom<'startResourceScan', Record<string, never>>) => Promise<ReturnTypeFrom<'startResourceScan'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateArchiveRule: (params: ParamsFrom<'updateArchiveRule', Record<string, never>>) => Promise<ReturnTypeFrom<'updateArchiveRule'>>;
    updateFindings: (params: ParamsFrom<'updateFindings', Record<string, never>>) => Promise<ReturnTypeFrom<'updateFindings'>>;
    validatePolicy(params: {
        [K in keyof ParamsFrom<'validatePolicy', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'validatePolicy', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'validatePolicy'>]-?: ReturnTypeFrom<'validatePolicy'>[K];
        }['findings'];
    }>;
    static fromClient(client: AWSAccessAnalyzer): AccessAnalyzer;
    static client(options?: AWSAccessAnalyzer.Types.ClientConfiguration): AccessAnalyzer;
}
export {};
