import { Request, Organizations as AWSOrganizations } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSOrganizations> = AWSOrganizations[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSOrganizations, Extras> = AWSOrganizations[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class Organizations {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "organizations";
    readonly global: false;
    readonly category: "Management and Governance";
    readonly topLevelCalls: readonly ["listAWSServiceAccessForOrganization", "listAccounts", "listCreateAccountStatus", "listDelegatedAdministrators", "listHandshakesForAccount", "listHandshakesForOrganization", "listRoots"];
    acceptHandshake: (params: ParamsFrom<'acceptHandshake', Record<string, never>>) => Promise<ReturnTypeFrom<'acceptHandshake'>>;
    attachPolicy: (params: ParamsFrom<'attachPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'attachPolicy'>>;
    cancelHandshake: (params: ParamsFrom<'cancelHandshake', Record<string, never>>) => Promise<ReturnTypeFrom<'cancelHandshake'>>;
    closeAccount: (params: ParamsFrom<'closeAccount', Record<string, never>>) => Promise<ReturnTypeFrom<'closeAccount'>>;
    createAccount: (params: ParamsFrom<'createAccount', Record<string, never>>) => Promise<ReturnTypeFrom<'createAccount'>>;
    createGovCloudAccount: (params: ParamsFrom<'createGovCloudAccount', Record<string, never>>) => Promise<ReturnTypeFrom<'createGovCloudAccount'>>;
    createOrganization: (params: ParamsFrom<'createOrganization', Record<string, never>>) => Promise<ReturnTypeFrom<'createOrganization'>>;
    createOrganizationalUnit: (params: ParamsFrom<'createOrganizationalUnit', Record<string, never>>) => Promise<ReturnTypeFrom<'createOrganizationalUnit'>>;
    createPolicy: (params: ParamsFrom<'createPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'createPolicy'>>;
    declineHandshake: (params: ParamsFrom<'declineHandshake', Record<string, never>>) => Promise<ReturnTypeFrom<'declineHandshake'>>;
    deleteOrganization: (params: ParamsFrom<'deleteOrganization', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteOrganization'>>;
    deleteOrganizationalUnit: (params: ParamsFrom<'deleteOrganizationalUnit', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteOrganizationalUnit'>>;
    deletePolicy: (params: ParamsFrom<'deletePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'deletePolicy'>>;
    deregisterDelegatedAdministrator: (params: ParamsFrom<'deregisterDelegatedAdministrator', Record<string, never>>) => Promise<ReturnTypeFrom<'deregisterDelegatedAdministrator'>>;
    describeAccount: (params: ParamsFrom<'describeAccount', Record<string, never>>) => Promise<ReturnTypeFrom<'describeAccount'>>;
    describeCreateAccountStatus: (params: ParamsFrom<'describeCreateAccountStatus', Record<string, never>>) => Promise<ReturnTypeFrom<'describeCreateAccountStatus'>>;
    describeEffectivePolicy: (params: ParamsFrom<'describeEffectivePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'describeEffectivePolicy'>>;
    describeHandshake: (params: ParamsFrom<'describeHandshake', Record<string, never>>) => Promise<ReturnTypeFrom<'describeHandshake'>>;
    describeOrganization: (params: ParamsFrom<'describeOrganization', Record<string, never>>) => Promise<ReturnTypeFrom<'describeOrganization'>>;
    describeOrganizationalUnit: (params: ParamsFrom<'describeOrganizationalUnit', Record<string, never>>) => Promise<ReturnTypeFrom<'describeOrganizationalUnit'>>;
    describePolicy: (params: ParamsFrom<'describePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'describePolicy'>>;
    detachPolicy: (params: ParamsFrom<'detachPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'detachPolicy'>>;
    disableAWSServiceAccess: (params: ParamsFrom<'disableAWSServiceAccess', Record<string, never>>) => Promise<ReturnTypeFrom<'disableAWSServiceAccess'>>;
    disablePolicyType: (params: ParamsFrom<'disablePolicyType', Record<string, never>>) => Promise<ReturnTypeFrom<'disablePolicyType'>>;
    enableAWSServiceAccess: (params: ParamsFrom<'enableAWSServiceAccess', Record<string, never>>) => Promise<ReturnTypeFrom<'enableAWSServiceAccess'>>;
    enableAllFeatures: (params: ParamsFrom<'enableAllFeatures', Record<string, never>>) => Promise<ReturnTypeFrom<'enableAllFeatures'>>;
    enablePolicyType: (params: ParamsFrom<'enablePolicyType', Record<string, never>>) => Promise<ReturnTypeFrom<'enablePolicyType'>>;
    inviteAccountToOrganization: (params: ParamsFrom<'inviteAccountToOrganization', Record<string, never>>) => Promise<ReturnTypeFrom<'inviteAccountToOrganization'>>;
    leaveOrganization: (params: ParamsFrom<'leaveOrganization', Record<string, never>>) => Promise<ReturnTypeFrom<'leaveOrganization'>>;
    listAWSServiceAccessForOrganization: (params: ParamsFrom<'listAWSServiceAccessForOrganization', Record<string, never>>) => Promise<ReturnTypeFrom<'listAWSServiceAccessForOrganization'>>;
    listAccounts: (params: ParamsFrom<'listAccounts', Record<string, never>>) => Promise<ReturnTypeFrom<'listAccounts'>>;
    listAccountsForParent: (params: ParamsFrom<'listAccountsForParent', Record<string, never>>) => Promise<ReturnTypeFrom<'listAccountsForParent'>>;
    listChildren: (params: ParamsFrom<'listChildren', Record<string, never>>) => Promise<ReturnTypeFrom<'listChildren'>>;
    listCreateAccountStatus: (params: ParamsFrom<'listCreateAccountStatus', Record<string, never>>) => Promise<ReturnTypeFrom<'listCreateAccountStatus'>>;
    listDelegatedAdministrators(params: {
        [K in keyof ParamsFrom<'listDelegatedAdministrators', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listDelegatedAdministrators', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listDelegatedAdministrators'>]-?: ReturnTypeFrom<'listDelegatedAdministrators'>[K];
        }['DelegatedAdministrators'];
    }>;
    listDelegatedServicesForAccount(params: {
        [K in keyof ParamsFrom<'listDelegatedServicesForAccount', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listDelegatedServicesForAccount', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listDelegatedServicesForAccount'>]-?: ReturnTypeFrom<'listDelegatedServicesForAccount'>[K];
        }['DelegatedServices'];
    }>;
    listHandshakesForAccount: (params: ParamsFrom<'listHandshakesForAccount', Record<string, never>>) => Promise<ReturnTypeFrom<'listHandshakesForAccount'>>;
    listHandshakesForOrganization: (params: ParamsFrom<'listHandshakesForOrganization', Record<string, never>>) => Promise<ReturnTypeFrom<'listHandshakesForOrganization'>>;
    listOrganizationalUnitsForParent: (params: ParamsFrom<'listOrganizationalUnitsForParent', Record<string, never>>) => Promise<ReturnTypeFrom<'listOrganizationalUnitsForParent'>>;
    listParents: (params: ParamsFrom<'listParents', Record<string, never>>) => Promise<ReturnTypeFrom<'listParents'>>;
    listPolicies: (params: ParamsFrom<'listPolicies', Record<string, never>>) => Promise<ReturnTypeFrom<'listPolicies'>>;
    listPoliciesForTarget: (params: ParamsFrom<'listPoliciesForTarget', Record<string, never>>) => Promise<ReturnTypeFrom<'listPoliciesForTarget'>>;
    listRoots: (params: ParamsFrom<'listRoots', Record<string, never>>) => Promise<ReturnTypeFrom<'listRoots'>>;
    listTagsForResource(params: {
        [K in keyof ParamsFrom<'listTagsForResource', {
            next?: string;
        }>]: ParamsFrom<'listTagsForResource', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listTagsForResource'>]-?: ReturnTypeFrom<'listTagsForResource'>[K];
        }['Tags'];
    }>;
    listTargetsForPolicy: (params: ParamsFrom<'listTargetsForPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'listTargetsForPolicy'>>;
    moveAccount: (params: ParamsFrom<'moveAccount', Record<string, never>>) => Promise<ReturnTypeFrom<'moveAccount'>>;
    registerDelegatedAdministrator: (params: ParamsFrom<'registerDelegatedAdministrator', Record<string, never>>) => Promise<ReturnTypeFrom<'registerDelegatedAdministrator'>>;
    removeAccountFromOrganization: (params: ParamsFrom<'removeAccountFromOrganization', Record<string, never>>) => Promise<ReturnTypeFrom<'removeAccountFromOrganization'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateOrganizationalUnit: (params: ParamsFrom<'updateOrganizationalUnit', Record<string, never>>) => Promise<ReturnTypeFrom<'updateOrganizationalUnit'>>;
    updatePolicy: (params: ParamsFrom<'updatePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'updatePolicy'>>;
    static fromClient(client: AWSOrganizations): Organizations;
    static client(options?: AWSOrganizations.Types.ClientConfiguration): Organizations;
}
export {};
