import { Request, GuardDuty as AWSGuardDuty } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSGuardDuty> = AWSGuardDuty[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSGuardDuty, Extras> = AWSGuardDuty[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class GuardDuty {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "guardduty";
    readonly global: false;
    readonly category: "Security, Identity & Compliance";
    readonly topLevelCalls: readonly ["listDetectors", "listInvitations", "listOrganizationAdminAccounts"];
    acceptAdministratorInvitation: (params: ParamsFrom<'acceptAdministratorInvitation', Record<string, never>>) => Promise<ReturnTypeFrom<'acceptAdministratorInvitation'>>;
    acceptInvitation: (params: ParamsFrom<'acceptInvitation', Record<string, never>>) => Promise<ReturnTypeFrom<'acceptInvitation'>>;
    archiveFindings: (params: ParamsFrom<'archiveFindings', Record<string, never>>) => Promise<ReturnTypeFrom<'archiveFindings'>>;
    createDetector: (params: ParamsFrom<'createDetector', Record<string, never>>) => Promise<ReturnTypeFrom<'createDetector'>>;
    createFilter: (params: ParamsFrom<'createFilter', Record<string, never>>) => Promise<ReturnTypeFrom<'createFilter'>>;
    createIPSet: (params: ParamsFrom<'createIPSet', Record<string, never>>) => Promise<ReturnTypeFrom<'createIPSet'>>;
    createMembers: (params: ParamsFrom<'createMembers', Record<string, never>>) => Promise<ReturnTypeFrom<'createMembers'>>;
    createPublishingDestination: (params: ParamsFrom<'createPublishingDestination', Record<string, never>>) => Promise<ReturnTypeFrom<'createPublishingDestination'>>;
    createSampleFindings: (params: ParamsFrom<'createSampleFindings', Record<string, never>>) => Promise<ReturnTypeFrom<'createSampleFindings'>>;
    createThreatIntelSet: (params: ParamsFrom<'createThreatIntelSet', Record<string, never>>) => Promise<ReturnTypeFrom<'createThreatIntelSet'>>;
    declineInvitations: (params: ParamsFrom<'declineInvitations', Record<string, never>>) => Promise<ReturnTypeFrom<'declineInvitations'>>;
    deleteDetector: (params: ParamsFrom<'deleteDetector', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteDetector'>>;
    deleteFilter: (params: ParamsFrom<'deleteFilter', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteFilter'>>;
    deleteIPSet: (params: ParamsFrom<'deleteIPSet', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteIPSet'>>;
    deleteInvitations: (params: ParamsFrom<'deleteInvitations', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteInvitations'>>;
    deleteMembers: (params: ParamsFrom<'deleteMembers', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteMembers'>>;
    deletePublishingDestination: (params: ParamsFrom<'deletePublishingDestination', Record<string, never>>) => Promise<ReturnTypeFrom<'deletePublishingDestination'>>;
    deleteThreatIntelSet: (params: ParamsFrom<'deleteThreatIntelSet', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteThreatIntelSet'>>;
    describeMalwareScans(params: {
        [K in keyof ParamsFrom<'describeMalwareScans', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeMalwareScans', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeMalwareScans'>]-?: ReturnTypeFrom<'describeMalwareScans'>[K];
        }['Scans'];
    }>;
    describeOrganizationConfiguration: (params: ParamsFrom<'describeOrganizationConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'describeOrganizationConfiguration'>>;
    describePublishingDestination: (params: ParamsFrom<'describePublishingDestination', Record<string, never>>) => Promise<ReturnTypeFrom<'describePublishingDestination'>>;
    disableOrganizationAdminAccount: (params: ParamsFrom<'disableOrganizationAdminAccount', Record<string, never>>) => Promise<ReturnTypeFrom<'disableOrganizationAdminAccount'>>;
    disassociateFromAdministratorAccount: (params: ParamsFrom<'disassociateFromAdministratorAccount', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateFromAdministratorAccount'>>;
    disassociateFromMasterAccount: (params: ParamsFrom<'disassociateFromMasterAccount', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateFromMasterAccount'>>;
    disassociateMembers: (params: ParamsFrom<'disassociateMembers', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateMembers'>>;
    enableOrganizationAdminAccount: (params: ParamsFrom<'enableOrganizationAdminAccount', Record<string, never>>) => Promise<ReturnTypeFrom<'enableOrganizationAdminAccount'>>;
    getAdministratorAccount: (params: ParamsFrom<'getAdministratorAccount', Record<string, never>>) => Promise<ReturnTypeFrom<'getAdministratorAccount'>>;
    getDetector: (params: ParamsFrom<'getDetector', Record<string, never>>) => Promise<ReturnTypeFrom<'getDetector'>>;
    getFilter: (params: ParamsFrom<'getFilter', Record<string, never>>) => Promise<ReturnTypeFrom<'getFilter'>>;
    getFindings: (params: ParamsFrom<'getFindings', Record<string, never>>) => Promise<ReturnTypeFrom<'getFindings'>>;
    getFindingsStatistics: (params: ParamsFrom<'getFindingsStatistics', Record<string, never>>) => Promise<ReturnTypeFrom<'getFindingsStatistics'>>;
    getIPSet: (params: ParamsFrom<'getIPSet', Record<string, never>>) => Promise<ReturnTypeFrom<'getIPSet'>>;
    getInvitationsCount: (params: ParamsFrom<'getInvitationsCount', Record<string, never>>) => Promise<ReturnTypeFrom<'getInvitationsCount'>>;
    getMalwareScanSettings: (params: ParamsFrom<'getMalwareScanSettings', Record<string, never>>) => Promise<ReturnTypeFrom<'getMalwareScanSettings'>>;
    getMasterAccount: (params: ParamsFrom<'getMasterAccount', Record<string, never>>) => Promise<ReturnTypeFrom<'getMasterAccount'>>;
    getMemberDetectors: (params: ParamsFrom<'getMemberDetectors', Record<string, never>>) => Promise<ReturnTypeFrom<'getMemberDetectors'>>;
    getMembers: (params: ParamsFrom<'getMembers', Record<string, never>>) => Promise<ReturnTypeFrom<'getMembers'>>;
    getRemainingFreeTrialDays: (params: ParamsFrom<'getRemainingFreeTrialDays', Record<string, never>>) => Promise<ReturnTypeFrom<'getRemainingFreeTrialDays'>>;
    getThreatIntelSet: (params: ParamsFrom<'getThreatIntelSet', Record<string, never>>) => Promise<ReturnTypeFrom<'getThreatIntelSet'>>;
    getUsageStatistics: (params: ParamsFrom<'getUsageStatistics', Record<string, never>>) => Promise<ReturnTypeFrom<'getUsageStatistics'>>;
    inviteMembers: (params: ParamsFrom<'inviteMembers', Record<string, never>>) => Promise<ReturnTypeFrom<'inviteMembers'>>;
    listDetectors(params: {
        [K in keyof ParamsFrom<'listDetectors', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listDetectors', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listDetectors'>]-?: ReturnTypeFrom<'listDetectors'>[K];
        }['DetectorIds'];
    }>;
    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];
        }['FilterNames'];
    }>;
    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];
        }['FindingIds'];
    }>;
    listIPSets(params: {
        [K in keyof ParamsFrom<'listIPSets', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listIPSets', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listIPSets'>]-?: ReturnTypeFrom<'listIPSets'>[K];
        }['IpSetIds'];
    }>;
    listInvitations(params: {
        [K in keyof ParamsFrom<'listInvitations', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listInvitations', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listInvitations'>]-?: ReturnTypeFrom<'listInvitations'>[K];
        }['Invitations'];
    }>;
    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'];
    }>;
    listOrganizationAdminAccounts(params: {
        [K in keyof ParamsFrom<'listOrganizationAdminAccounts', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listOrganizationAdminAccounts', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listOrganizationAdminAccounts'>]-?: ReturnTypeFrom<'listOrganizationAdminAccounts'>[K];
        }['AdminAccounts'];
    }>;
    listPublishingDestinations: (params: ParamsFrom<'listPublishingDestinations', Record<string, never>>) => Promise<ReturnTypeFrom<'listPublishingDestinations'>>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    listThreatIntelSets(params: {
        [K in keyof ParamsFrom<'listThreatIntelSets', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listThreatIntelSets', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listThreatIntelSets'>]-?: ReturnTypeFrom<'listThreatIntelSets'>[K];
        }['ThreatIntelSetIds'];
    }>;
    startMonitoringMembers: (params: ParamsFrom<'startMonitoringMembers', Record<string, never>>) => Promise<ReturnTypeFrom<'startMonitoringMembers'>>;
    stopMonitoringMembers: (params: ParamsFrom<'stopMonitoringMembers', Record<string, never>>) => Promise<ReturnTypeFrom<'stopMonitoringMembers'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    unarchiveFindings: (params: ParamsFrom<'unarchiveFindings', Record<string, never>>) => Promise<ReturnTypeFrom<'unarchiveFindings'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateDetector: (params: ParamsFrom<'updateDetector', Record<string, never>>) => Promise<ReturnTypeFrom<'updateDetector'>>;
    updateFilter: (params: ParamsFrom<'updateFilter', Record<string, never>>) => Promise<ReturnTypeFrom<'updateFilter'>>;
    updateFindingsFeedback: (params: ParamsFrom<'updateFindingsFeedback', Record<string, never>>) => Promise<ReturnTypeFrom<'updateFindingsFeedback'>>;
    updateIPSet: (params: ParamsFrom<'updateIPSet', Record<string, never>>) => Promise<ReturnTypeFrom<'updateIPSet'>>;
    updateMalwareScanSettings: (params: ParamsFrom<'updateMalwareScanSettings', Record<string, never>>) => Promise<ReturnTypeFrom<'updateMalwareScanSettings'>>;
    updateMemberDetectors: (params: ParamsFrom<'updateMemberDetectors', Record<string, never>>) => Promise<ReturnTypeFrom<'updateMemberDetectors'>>;
    updateOrganizationConfiguration: (params: ParamsFrom<'updateOrganizationConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'updateOrganizationConfiguration'>>;
    updatePublishingDestination: (params: ParamsFrom<'updatePublishingDestination', Record<string, never>>) => Promise<ReturnTypeFrom<'updatePublishingDestination'>>;
    updateThreatIntelSet: (params: ParamsFrom<'updateThreatIntelSet', Record<string, never>>) => Promise<ReturnTypeFrom<'updateThreatIntelSet'>>;
    static fromClient(client: AWSGuardDuty): GuardDuty;
    static client(options?: AWSGuardDuty.Types.ClientConfiguration): GuardDuty;
}
export {};
