import { MapStringTo } from "../base-types";
import { IExtendedContentHubClient } from "../clients/extended-client";
import { IEntity } from "../contracts/base/entity";
import { IRelation } from "../contracts/base/relation";
import { MinimalSchema } from "../contracts/querying/minimal-schema";
import { EntityResource } from "../models/entity-resource";
import { RelationResource } from "../models/relation-resource";
export declare class RelationMapper {
    private readonly _client;
    constructor(client: IExtendedContentHubClient);
    mapRelationsAsync(resource: EntityResource, schema?: MinimalSchema): Promise<Array<IRelation>>;
    mapToRelationResourcesAsync(entity: IEntity): Promise<MapStringTo<RelationResource>>;
    mapRelationToResourceAsync(relation: IRelation, id: number): Promise<RelationResource>;
    mapDirtyRelationsAsync(entity: IEntity): Promise<MapStringTo<RelationResource>>;
    private mapRelationsToResourcesAsync;
}
