import { Request, Billingconductor as AWSBillingconductor } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSBillingconductor> = AWSBillingconductor[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSBillingconductor, Extras> = AWSBillingconductor[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class Billingconductor {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "billingconductor";
    readonly global: false;
    readonly category: "Other";
    readonly topLevelCalls: readonly ["listAccountAssociations", "listBillingGroupCostReports", "listBillingGroups", "listCustomLineItems", "listPricingPlans", "listPricingRules"];
    associateAccounts: (params: ParamsFrom<'associateAccounts', Record<string, never>>) => Promise<ReturnTypeFrom<'associateAccounts'>>;
    associatePricingRules: (params: ParamsFrom<'associatePricingRules', Record<string, never>>) => Promise<ReturnTypeFrom<'associatePricingRules'>>;
    batchAssociateResourcesToCustomLineItem: (params: ParamsFrom<'batchAssociateResourcesToCustomLineItem', Record<string, never>>) => Promise<ReturnTypeFrom<'batchAssociateResourcesToCustomLineItem'>>;
    batchDisassociateResourcesFromCustomLineItem: (params: ParamsFrom<'batchDisassociateResourcesFromCustomLineItem', Record<string, never>>) => Promise<ReturnTypeFrom<'batchDisassociateResourcesFromCustomLineItem'>>;
    createBillingGroup: (params: ParamsFrom<'createBillingGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'createBillingGroup'>>;
    createCustomLineItem: (params: ParamsFrom<'createCustomLineItem', Record<string, never>>) => Promise<ReturnTypeFrom<'createCustomLineItem'>>;
    createPricingPlan: (params: ParamsFrom<'createPricingPlan', Record<string, never>>) => Promise<ReturnTypeFrom<'createPricingPlan'>>;
    createPricingRule: (params: ParamsFrom<'createPricingRule', Record<string, never>>) => Promise<ReturnTypeFrom<'createPricingRule'>>;
    deleteBillingGroup: (params: ParamsFrom<'deleteBillingGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteBillingGroup'>>;
    deleteCustomLineItem: (params: ParamsFrom<'deleteCustomLineItem', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteCustomLineItem'>>;
    deletePricingPlan: (params: ParamsFrom<'deletePricingPlan', Record<string, never>>) => Promise<ReturnTypeFrom<'deletePricingPlan'>>;
    deletePricingRule: (params: ParamsFrom<'deletePricingRule', Record<string, never>>) => Promise<ReturnTypeFrom<'deletePricingRule'>>;
    disassociateAccounts: (params: ParamsFrom<'disassociateAccounts', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateAccounts'>>;
    disassociatePricingRules: (params: ParamsFrom<'disassociatePricingRules', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociatePricingRules'>>;
    listAccountAssociations(params: {
        [K in keyof ParamsFrom<'listAccountAssociations', {
            next?: string;
        }>]: ParamsFrom<'listAccountAssociations', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listAccountAssociations'>]-?: ReturnTypeFrom<'listAccountAssociations'>[K];
        }['LinkedAccounts'];
    }>;
    listBillingGroupCostReports(params: {
        [K in keyof ParamsFrom<'listBillingGroupCostReports', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listBillingGroupCostReports', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listBillingGroupCostReports'>]-?: ReturnTypeFrom<'listBillingGroupCostReports'>[K];
        }['BillingGroupCostReports'];
    }>;
    listBillingGroups(params: {
        [K in keyof ParamsFrom<'listBillingGroups', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listBillingGroups', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listBillingGroups'>]-?: ReturnTypeFrom<'listBillingGroups'>[K];
        }['BillingGroups'];
    }>;
    listCustomLineItems(params: {
        [K in keyof ParamsFrom<'listCustomLineItems', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listCustomLineItems', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listCustomLineItems'>]-?: ReturnTypeFrom<'listCustomLineItems'>[K];
        }['CustomLineItems'];
    }>;
    listPricingPlans(params: {
        [K in keyof ParamsFrom<'listPricingPlans', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listPricingPlans', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listPricingPlans'>]-?: ReturnTypeFrom<'listPricingPlans'>[K];
        }['PricingPlans'];
    }>;
    listPricingPlansAssociatedWithPricingRule(params: {
        [K in keyof ParamsFrom<'listPricingPlansAssociatedWithPricingRule', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listPricingPlansAssociatedWithPricingRule', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listPricingPlansAssociatedWithPricingRule'>]-?: ReturnTypeFrom<'listPricingPlansAssociatedWithPricingRule'>[K];
        }['PricingPlanArns'];
    }>;
    listPricingRules(params: {
        [K in keyof ParamsFrom<'listPricingRules', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listPricingRules', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listPricingRules'>]-?: ReturnTypeFrom<'listPricingRules'>[K];
        }['PricingRules'];
    }>;
    listPricingRulesAssociatedToPricingPlan(params: {
        [K in keyof ParamsFrom<'listPricingRulesAssociatedToPricingPlan', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listPricingRulesAssociatedToPricingPlan', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listPricingRulesAssociatedToPricingPlan'>]-?: ReturnTypeFrom<'listPricingRulesAssociatedToPricingPlan'>[K];
        }['PricingRuleArns'];
    }>;
    listResourcesAssociatedToCustomLineItem(params: {
        [K in keyof ParamsFrom<'listResourcesAssociatedToCustomLineItem', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listResourcesAssociatedToCustomLineItem', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listResourcesAssociatedToCustomLineItem'>]-?: ReturnTypeFrom<'listResourcesAssociatedToCustomLineItem'>[K];
        }['AssociatedResources'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateBillingGroup: (params: ParamsFrom<'updateBillingGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'updateBillingGroup'>>;
    updateCustomLineItem: (params: ParamsFrom<'updateCustomLineItem', Record<string, never>>) => Promise<ReturnTypeFrom<'updateCustomLineItem'>>;
    updatePricingPlan: (params: ParamsFrom<'updatePricingPlan', Record<string, never>>) => Promise<ReturnTypeFrom<'updatePricingPlan'>>;
    updatePricingRule: (params: ParamsFrom<'updatePricingRule', Record<string, never>>) => Promise<ReturnTypeFrom<'updatePricingRule'>>;
    static fromClient(client: AWSBillingconductor): Billingconductor;
    static client(options?: AWSBillingconductor.Types.ClientConfiguration): Billingconductor;
}
export {};
