import { MapNumberTo, MapStringTo, Nullable, Object_Unknown } from "../../.."; import { IContentHubClient } from "../../../clients/content-hub-client"; import { IParentRelation, RelationBase } from "../relation"; import { RelationRole } from "../relation-role"; import { IToManyRelation } from "./to-many-relation"; /** * A relation where the parent has many children. */ export interface IParentToManyChildrenRelation extends IParentRelation, IToManyRelation { /** * The list of children ids. */ readonly children: Array; /** * When related items are partially loaded, this value will be set * to indicate how many related items there are in total. */ childTotal?: number; /** * Gets the properties for a child. * * If no properties are found, an empty list is returned. * @param id - The id of the child to get properties for */ getChildProperties(id: number): MapStringTo; } export declare class ParentToManyChildrenRelation extends RelationBase implements IParentToManyChildrenRelation { private readonly _children; readonly role: RelationRole; readonly childTotal?: number; readonly isMultiValue: boolean; get isFullyLoaded(): boolean; get isDirty(): boolean; get children(): Array; constructor(name: string, properties?: Nullable>>, client?: IContentHubClient, childTotal?: number); 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; getChildProperties(id: number): MapStringTo; }