import { MapNumberTo, MapStringTo, Nullable, Object_Unknown } from "../../.."; import { IContentHubClient } from "../../../clients/content-hub-client"; import { ChildRelationBase, IChildRelation } from "../relation"; import { RelationRole } from "../relation-role"; import { IToManyRelation } from "./to-many-relation"; /** * A relation where the child has many parents. */ export interface IChildToManyParentsRelation extends IChildRelation, IToManyRelation { /** * The list of parent ids. */ readonly parents: Array; /** * When related items are partially loaded, this value will be set * to indicate how many related items there are in total. */ parentTotal?: number; /** * Gets the properties for a parent. * * If no properties are found, an empty list is returned. * @param id - The id of the parent to get properties for */ getParentProperties(id: number): MapStringTo; } export declare class ChildToManyParentsRelation extends ChildRelationBase implements IChildToManyParentsRelation { private readonly _parents; readonly role: RelationRole; readonly parentTotal?: number; readonly isMultiValue: boolean; get isFullyLoaded(): boolean; get isDirty(): boolean; get parents(): Array; constructor(name: string, properties?: Nullable>>, client?: IContentHubClient, parentTotal?: number, inheritsSecurity?: boolean); getIds(): Array; setIds(ids: Array): void; clear(): void; add(id: number): void; addRange(ids: Array): void; addAsync(identifier: string): Promise; addRangeAsync(identifiers: Array): Promise; startTracking(): void; markClean(): void; getParentProperties(id: number): MapStringTo; }