import { Request, Route53Resolver as AWSRoute53Resolver } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSRoute53Resolver> = AWSRoute53Resolver[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSRoute53Resolver, Extras> = AWSRoute53Resolver[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class Route53Resolver {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "route53resolver";
    readonly global: false;
    readonly category: "Networking and Content Delivery";
    readonly topLevelCalls: readonly ["listFirewallConfigs", "listFirewallDomainLists", "listFirewallRuleGroupAssociations", "listFirewallRuleGroups", "listResolverConfigs", "listResolverDnssecConfigs", "listResolverEndpoints", "listResolverQueryLogConfigAssociations", "listResolverQueryLogConfigs", "listResolverRuleAssociations", "listResolverRules"];
    associateFirewallRuleGroup: (params: ParamsFrom<'associateFirewallRuleGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'associateFirewallRuleGroup'>>;
    associateResolverEndpointIpAddress: (params: ParamsFrom<'associateResolverEndpointIpAddress', Record<string, never>>) => Promise<ReturnTypeFrom<'associateResolverEndpointIpAddress'>>;
    associateResolverQueryLogConfig: (params: ParamsFrom<'associateResolverQueryLogConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'associateResolverQueryLogConfig'>>;
    associateResolverRule: (params: ParamsFrom<'associateResolverRule', Record<string, never>>) => Promise<ReturnTypeFrom<'associateResolverRule'>>;
    createFirewallDomainList: (params: ParamsFrom<'createFirewallDomainList', Record<string, never>>) => Promise<ReturnTypeFrom<'createFirewallDomainList'>>;
    createFirewallRule: (params: ParamsFrom<'createFirewallRule', Record<string, never>>) => Promise<ReturnTypeFrom<'createFirewallRule'>>;
    createFirewallRuleGroup: (params: ParamsFrom<'createFirewallRuleGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'createFirewallRuleGroup'>>;
    createResolverEndpoint: (params: ParamsFrom<'createResolverEndpoint', Record<string, never>>) => Promise<ReturnTypeFrom<'createResolverEndpoint'>>;
    createResolverQueryLogConfig: (params: ParamsFrom<'createResolverQueryLogConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'createResolverQueryLogConfig'>>;
    createResolverRule: (params: ParamsFrom<'createResolverRule', Record<string, never>>) => Promise<ReturnTypeFrom<'createResolverRule'>>;
    deleteFirewallDomainList: (params: ParamsFrom<'deleteFirewallDomainList', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteFirewallDomainList'>>;
    deleteFirewallRule: (params: ParamsFrom<'deleteFirewallRule', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteFirewallRule'>>;
    deleteFirewallRuleGroup: (params: ParamsFrom<'deleteFirewallRuleGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteFirewallRuleGroup'>>;
    deleteResolverEndpoint: (params: ParamsFrom<'deleteResolverEndpoint', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteResolverEndpoint'>>;
    deleteResolverQueryLogConfig: (params: ParamsFrom<'deleteResolverQueryLogConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteResolverQueryLogConfig'>>;
    deleteResolverRule: (params: ParamsFrom<'deleteResolverRule', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteResolverRule'>>;
    disassociateFirewallRuleGroup: (params: ParamsFrom<'disassociateFirewallRuleGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateFirewallRuleGroup'>>;
    disassociateResolverEndpointIpAddress: (params: ParamsFrom<'disassociateResolverEndpointIpAddress', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateResolverEndpointIpAddress'>>;
    disassociateResolverQueryLogConfig: (params: ParamsFrom<'disassociateResolverQueryLogConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateResolverQueryLogConfig'>>;
    disassociateResolverRule: (params: ParamsFrom<'disassociateResolverRule', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateResolverRule'>>;
    getFirewallConfig: (params: ParamsFrom<'getFirewallConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'getFirewallConfig'>>;
    getFirewallDomainList: (params: ParamsFrom<'getFirewallDomainList', Record<string, never>>) => Promise<ReturnTypeFrom<'getFirewallDomainList'>>;
    getFirewallRuleGroup: (params: ParamsFrom<'getFirewallRuleGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'getFirewallRuleGroup'>>;
    getFirewallRuleGroupAssociation: (params: ParamsFrom<'getFirewallRuleGroupAssociation', Record<string, never>>) => Promise<ReturnTypeFrom<'getFirewallRuleGroupAssociation'>>;
    getFirewallRuleGroupPolicy: (params: ParamsFrom<'getFirewallRuleGroupPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getFirewallRuleGroupPolicy'>>;
    getResolverConfig: (params: ParamsFrom<'getResolverConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'getResolverConfig'>>;
    getResolverDnssecConfig: (params: ParamsFrom<'getResolverDnssecConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'getResolverDnssecConfig'>>;
    getResolverEndpoint: (params: ParamsFrom<'getResolverEndpoint', Record<string, never>>) => Promise<ReturnTypeFrom<'getResolverEndpoint'>>;
    getResolverQueryLogConfig: (params: ParamsFrom<'getResolverQueryLogConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'getResolverQueryLogConfig'>>;
    getResolverQueryLogConfigAssociation: (params: ParamsFrom<'getResolverQueryLogConfigAssociation', Record<string, never>>) => Promise<ReturnTypeFrom<'getResolverQueryLogConfigAssociation'>>;
    getResolverQueryLogConfigPolicy: (params: ParamsFrom<'getResolverQueryLogConfigPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getResolverQueryLogConfigPolicy'>>;
    getResolverRule: (params: ParamsFrom<'getResolverRule', Record<string, never>>) => Promise<ReturnTypeFrom<'getResolverRule'>>;
    getResolverRuleAssociation: (params: ParamsFrom<'getResolverRuleAssociation', Record<string, never>>) => Promise<ReturnTypeFrom<'getResolverRuleAssociation'>>;
    getResolverRulePolicy: (params: ParamsFrom<'getResolverRulePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getResolverRulePolicy'>>;
    importFirewallDomains: (params: ParamsFrom<'importFirewallDomains', Record<string, never>>) => Promise<ReturnTypeFrom<'importFirewallDomains'>>;
    listFirewallConfigs(params: {
        [K in keyof ParamsFrom<'listFirewallConfigs', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listFirewallConfigs', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listFirewallConfigs'>]-?: ReturnTypeFrom<'listFirewallConfigs'>[K];
        }['FirewallConfigs'];
    }>;
    listFirewallDomainLists(params: {
        [K in keyof ParamsFrom<'listFirewallDomainLists', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listFirewallDomainLists', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listFirewallDomainLists'>]-?: ReturnTypeFrom<'listFirewallDomainLists'>[K];
        }['FirewallDomainLists'];
    }>;
    listFirewallDomains(params: {
        [K in keyof ParamsFrom<'listFirewallDomains', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listFirewallDomains', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listFirewallDomains'>]-?: ReturnTypeFrom<'listFirewallDomains'>[K];
        }['Domains'];
    }>;
    listFirewallRuleGroupAssociations(params: {
        [K in keyof ParamsFrom<'listFirewallRuleGroupAssociations', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listFirewallRuleGroupAssociations', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listFirewallRuleGroupAssociations'>]-?: ReturnTypeFrom<'listFirewallRuleGroupAssociations'>[K];
        }['FirewallRuleGroupAssociations'];
    }>;
    listFirewallRuleGroups(params: {
        [K in keyof ParamsFrom<'listFirewallRuleGroups', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listFirewallRuleGroups', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listFirewallRuleGroups'>]-?: ReturnTypeFrom<'listFirewallRuleGroups'>[K];
        }['FirewallRuleGroups'];
    }>;
    listFirewallRules(params: {
        [K in keyof ParamsFrom<'listFirewallRules', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listFirewallRules', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listFirewallRules'>]-?: ReturnTypeFrom<'listFirewallRules'>[K];
        }['FirewallRules'];
    }>;
    listResolverConfigs(params: {
        [K in keyof ParamsFrom<'listResolverConfigs', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listResolverConfigs', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listResolverConfigs'>]-?: ReturnTypeFrom<'listResolverConfigs'>[K];
        }['ResolverConfigs'];
    }>;
    listResolverDnssecConfigs(params: {
        [K in keyof ParamsFrom<'listResolverDnssecConfigs', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listResolverDnssecConfigs', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listResolverDnssecConfigs'>]-?: ReturnTypeFrom<'listResolverDnssecConfigs'>[K];
        }['ResolverDnssecConfigs'];
    }>;
    listResolverEndpointIpAddresses(params: {
        [K in keyof ParamsFrom<'listResolverEndpointIpAddresses', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listResolverEndpointIpAddresses', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listResolverEndpointIpAddresses'>]-?: ReturnTypeFrom<'listResolverEndpointIpAddresses'>[K];
        }['IpAddresses'];
    }>;
    listResolverEndpoints(params: {
        [K in keyof ParamsFrom<'listResolverEndpoints', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listResolverEndpoints', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listResolverEndpoints'>]-?: ReturnTypeFrom<'listResolverEndpoints'>[K];
        }['ResolverEndpoints'];
    }>;
    listResolverQueryLogConfigAssociations(params: {
        [K in keyof ParamsFrom<'listResolverQueryLogConfigAssociations', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listResolverQueryLogConfigAssociations', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listResolverQueryLogConfigAssociations'>]-?: ReturnTypeFrom<'listResolverQueryLogConfigAssociations'>[K];
        }['ResolverQueryLogConfigAssociations'];
    }>;
    listResolverQueryLogConfigs(params: {
        [K in keyof ParamsFrom<'listResolverQueryLogConfigs', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listResolverQueryLogConfigs', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listResolverQueryLogConfigs'>]-?: ReturnTypeFrom<'listResolverQueryLogConfigs'>[K];
        }['ResolverQueryLogConfigs'];
    }>;
    listResolverRuleAssociations(params: {
        [K in keyof ParamsFrom<'listResolverRuleAssociations', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listResolverRuleAssociations', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listResolverRuleAssociations'>]-?: ReturnTypeFrom<'listResolverRuleAssociations'>[K];
        }['ResolverRuleAssociations'];
    }>;
    listResolverRules(params: {
        [K in keyof ParamsFrom<'listResolverRules', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listResolverRules', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listResolverRules'>]-?: ReturnTypeFrom<'listResolverRules'>[K];
        }['ResolverRules'];
    }>;
    listTagsForResource(params: {
        [K in keyof ParamsFrom<'listTagsForResource', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listTagsForResource', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listTagsForResource'>]-?: ReturnTypeFrom<'listTagsForResource'>[K];
        }['Tags'];
    }>;
    putFirewallRuleGroupPolicy: (params: ParamsFrom<'putFirewallRuleGroupPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'putFirewallRuleGroupPolicy'>>;
    putResolverQueryLogConfigPolicy: (params: ParamsFrom<'putResolverQueryLogConfigPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'putResolverQueryLogConfigPolicy'>>;
    putResolverRulePolicy: (params: ParamsFrom<'putResolverRulePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'putResolverRulePolicy'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateFirewallConfig: (params: ParamsFrom<'updateFirewallConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'updateFirewallConfig'>>;
    updateFirewallDomains: (params: ParamsFrom<'updateFirewallDomains', Record<string, never>>) => Promise<ReturnTypeFrom<'updateFirewallDomains'>>;
    updateFirewallRule: (params: ParamsFrom<'updateFirewallRule', Record<string, never>>) => Promise<ReturnTypeFrom<'updateFirewallRule'>>;
    updateFirewallRuleGroupAssociation: (params: ParamsFrom<'updateFirewallRuleGroupAssociation', Record<string, never>>) => Promise<ReturnTypeFrom<'updateFirewallRuleGroupAssociation'>>;
    updateResolverConfig: (params: ParamsFrom<'updateResolverConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'updateResolverConfig'>>;
    updateResolverDnssecConfig: (params: ParamsFrom<'updateResolverDnssecConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'updateResolverDnssecConfig'>>;
    updateResolverEndpoint: (params: ParamsFrom<'updateResolverEndpoint', Record<string, never>>) => Promise<ReturnTypeFrom<'updateResolverEndpoint'>>;
    updateResolverRule: (params: ParamsFrom<'updateResolverRule', Record<string, never>>) => Promise<ReturnTypeFrom<'updateResolverRule'>>;
    static fromClient(client: AWSRoute53Resolver): Route53Resolver;
    static client(options?: AWSRoute53Resolver.Types.ClientConfiguration): Route53Resolver;
}
export {};
