import { Request, RAM as AWSRAM } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSRAM> = AWSRAM[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSRAM, Extras> = AWSRAM[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class RAM {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "ram";
    readonly global: false;
    readonly category: "Security, Identity & Compliance";
    readonly topLevelCalls: readonly ["getResourceShareInvitations", "listPermissions", "listResourceTypes"];
    acceptResourceShareInvitation: (params: ParamsFrom<'acceptResourceShareInvitation', Record<string, never>>) => Promise<ReturnTypeFrom<'acceptResourceShareInvitation'>>;
    associateResourceShare: (params: ParamsFrom<'associateResourceShare', Record<string, never>>) => Promise<ReturnTypeFrom<'associateResourceShare'>>;
    associateResourceSharePermission: (params: ParamsFrom<'associateResourceSharePermission', Record<string, never>>) => Promise<ReturnTypeFrom<'associateResourceSharePermission'>>;
    createResourceShare: (params: ParamsFrom<'createResourceShare', Record<string, never>>) => Promise<ReturnTypeFrom<'createResourceShare'>>;
    deleteResourceShare: (params: ParamsFrom<'deleteResourceShare', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteResourceShare'>>;
    disassociateResourceShare: (params: ParamsFrom<'disassociateResourceShare', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateResourceShare'>>;
    disassociateResourceSharePermission: (params: ParamsFrom<'disassociateResourceSharePermission', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateResourceSharePermission'>>;
    enableSharingWithAwsOrganization: (params: ParamsFrom<'enableSharingWithAwsOrganization', Record<string, never>>) => Promise<ReturnTypeFrom<'enableSharingWithAwsOrganization'>>;
    getPermission: (params: ParamsFrom<'getPermission', Record<string, never>>) => Promise<ReturnTypeFrom<'getPermission'>>;
    getResourcePolicies: (params: ParamsFrom<'getResourcePolicies', Record<string, never>>) => Promise<ReturnTypeFrom<'getResourcePolicies'>>;
    getResourceShareAssociations: (params: ParamsFrom<'getResourceShareAssociations', Record<string, never>>) => Promise<ReturnTypeFrom<'getResourceShareAssociations'>>;
    getResourceShareInvitations: (params: ParamsFrom<'getResourceShareInvitations', Record<string, never>>) => Promise<ReturnTypeFrom<'getResourceShareInvitations'>>;
    getResourceShares: (params: ParamsFrom<'getResourceShares', Record<string, never>>) => Promise<ReturnTypeFrom<'getResourceShares'>>;
    listPendingInvitationResources: (params: ParamsFrom<'listPendingInvitationResources', Record<string, never>>) => Promise<ReturnTypeFrom<'listPendingInvitationResources'>>;
    listPermissionVersions: (params: ParamsFrom<'listPermissionVersions', Record<string, never>>) => Promise<ReturnTypeFrom<'listPermissionVersions'>>;
    listPermissions: (params: ParamsFrom<'listPermissions', Record<string, never>>) => Promise<ReturnTypeFrom<'listPermissions'>>;
    listPrincipals: (params: ParamsFrom<'listPrincipals', Record<string, never>>) => Promise<ReturnTypeFrom<'listPrincipals'>>;
    listResourceSharePermissions: (params: ParamsFrom<'listResourceSharePermissions', Record<string, never>>) => Promise<ReturnTypeFrom<'listResourceSharePermissions'>>;
    listResourceTypes: (params: ParamsFrom<'listResourceTypes', Record<string, never>>) => Promise<ReturnTypeFrom<'listResourceTypes'>>;
    listResources: (params: ParamsFrom<'listResources', Record<string, never>>) => Promise<ReturnTypeFrom<'listResources'>>;
    promoteResourceShareCreatedFromPolicy: (params: ParamsFrom<'promoteResourceShareCreatedFromPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'promoteResourceShareCreatedFromPolicy'>>;
    rejectResourceShareInvitation: (params: ParamsFrom<'rejectResourceShareInvitation', Record<string, never>>) => Promise<ReturnTypeFrom<'rejectResourceShareInvitation'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateResourceShare: (params: ParamsFrom<'updateResourceShare', Record<string, never>>) => Promise<ReturnTypeFrom<'updateResourceShare'>>;
    static fromClient(client: AWSRAM): RAM;
    static client(options?: AWSRAM.Types.ClientConfiguration): RAM;
}
export {};
