declare namespace datasources { interface ICurrentPage { first: number; size: number; entitiesDef: T[]; } type IEntitySelectionSettings = Partial<{ expand: string; relatedSelURI: string; queryStr: string; queryParams: string; first: number; pageLength: number; filterAttributes: string; dataSetName: string; }>; interface IEntitySelectionPrivate { curPage: ICurrentPage; selLength: number; maxEntities: number; initialFirst: number; pageLength: number; inited: boolean; owner: DataClass; fetching: boolean; settings: IEntitySelectionSettings; isRelatedSel: boolean; relatedSelURI: string; dataSetName: string; filterAttributes: string; } interface IDescriptorAsParam { __ENTITIES: boolean; __DATACLASS: string; __DATASET: string; } class EntitySelection { constructor( owner: DataClass, settings: IEntitySelectionSettings, rawDef: IDataClass, ); readonly length: number; initAsEmpty(): void; getLength(settings?: IEntitySelectionSettings): Promise; getMaxEntities(): number; getDataClass(): DataClass; getDescriptorAsParam(): IDescriptorAsParam; getComputedURL( settings?: IEntitySelectionSettings, forFuncCall?: boolean, ): { url: string; added: string; }; fetchPage( first: number, size: number, settings?: IEntitySelectionSettings, ): Promise>; managePage(rawDef: ICollection, nochangeInCurpage?: boolean): T[]; } }