import { NullableResultPromise } from "../base-types";
import { IExtendedContentHubClient } from "../clients/extended-client";
import { IMemberDefinition, PropertyDefinition, RelationDefinition } from "../contracts/base";
import { MemberDefinitionResource } from "../models/member-definition-resource";
import { PropertyDefinitionResource } from "../models/property-definition-resource";
import { RelationDefinitionResource } from "../models/relation-definition-resource";
export declare class MemberDefinitionMapper {
    private readonly _client;
    private readonly _memberConditionMapper;
    constructor(client: IExtendedContentHubClient);
    mapMemberDefinitionsAsync(memberDefinitionResources: Array<MemberDefinitionResource>): Promise<Array<IMemberDefinition>>;
    mapMemberDefinitionAsync(resource: MemberDefinitionResource): NullableResultPromise<IMemberDefinition>;
    mapPropertyDefinitionAsync(resource: PropertyDefinitionResource): Promise<PropertyDefinition>;
    mapRelationDefinitionAsync(resource: RelationDefinitionResource): Promise<RelationDefinition>;
    mapMemberDefinitionResourcesAsync(memberDefinitions: Array<IMemberDefinition>): Promise<Array<MemberDefinitionResource>>;
    mapMemberDefinitionResourceAsync(memberDefinition: IMemberDefinition): NullableResultPromise<MemberDefinitionResource>;
    mapPropertyDefinitionResourceAsync(definition: PropertyDefinition): NullableResultPromise<PropertyDefinitionResource>;
    mapRelationDefinitionResourceAsync(definition: RelationDefinition): NullableResultPromise<RelationDefinitionResource>;
}
