import { MapNumberTo, MapStringTo, NullableResultPromise } from "../base-types"; import { IEntityDefinition } from "../contracts/base/entity-definition"; import { ViewMode } from "../contracts/base/view-mode"; import { IEntityDefinitionIterator } from "../contracts/querying/entity-definition-iterator"; import { IEntityDefinitionQueryResult } from "../contracts/querying/entity-definition-query-result"; import { IIdIterator } from "../contracts/querying/id-iterator"; import { IIdQueryResult } from "../contracts/querying/id-query-result"; import { IExtendedContentHubClient } from "./extended-client"; export interface IEntityDefinitionsClient { /** * Get the {@link IEntityDefinition} instance by the specified name. * @param name - The name of the definition * @param includeConditionalMembers - Include conditional members * @param loadPermissions - Load permissions for the definition * @param cacheSignature - Signature of the cached resources for controlling browser caching * @returns Promise which resolves to an {@link IEntityDefinition} or null. */ getAsync(name: string, includeConditionalMembers?: boolean, loadPermissions?: boolean, cacheSignature?: string): NullableResultPromise; /** * Get the {@link IEntityDefinition} instance by the specified id. * @param id - The id of the definition * @param includeConditionalMembers - Include conditional members * @param loadPermissions - Load permissions for the definition * @param cacheSignature - Signature of the cached resources for controlling browser caching * @returns Promise which resolves to an {@link IEntityDefinition} or null. */ getAsync(id: number, includeConditionalMembers?: boolean, loadPermissions?: boolean, cacheSignature?: string): NullableResultPromise; /** * Get all the {@link IEntityDefinition}s. * @param includeConditionalMembers - Include conditional members * @param loadPermissions - Load permissions for the definitions * @param viewMode - Select appropriate ViewMode * @param loadPermissions - Load permissions for the definitions * @param excludeTaxonomyDefinitions - Exclude taxonomy definitions from the result * @param excludeSystemOwnedDefinitions - Exclude system owned definitions from the result * @param filter - Additional filters * @param definitionsToLoadByName - Comma separated list of definition names * @param definitionsToLoadById - Comma separated list of definition identifiers * @param excludeLightDefinitions - Exclude light definitions from the result * @returns Promise which resolved to an array of {@link IEntityDefinition}s. */ getAllAsync(includeConditionalMembers?: boolean, loadPermissions?: boolean, viewMode?: ViewMode, excludeTaxonomyDefinitions?: boolean, excludeSystemOwnedDefinitions?: boolean, filter?: string, definitionsToLoadByName?: string, definitionsToLoadById?: string, excludeLightDefinitions?: boolean): Promise>; /** * Get all the {@link IEntityDefinition}s (cached). * @param includeConditionalMembers - Include conditional members * @param loadPermissions - Load permissions for the definitions * @param excludeTaxonomyDefinitions - Exclude taxonomy definitions from the result * @param excludeSystemOwnedDefinitions - Exclude system owned definitions from the result * @param filter - Additional filters * @param definitionsToLoadByName - Comma separated list of definition names * @param definitionsToLoadById - Comma separated list of definition identifiers * @param excludeLightDefinitions - Exclude light definitions from the result * @returns Promise which resolved to an array of {@link IEntityDefinition}s. */ getAllCachedAsync(includeConditionalMembers?: boolean, loadPermissions?: boolean, viewMode?: ViewMode, excludeTaxonomyDefinitions?: boolean, excludeSystemOwnedDefinitions?: boolean, filter?: string, definitionsToLoadByName?: string, definitionsToLoadById?: string, excludeLightDefinitions?: boolean): Promise>; /** * Get the cached {@link IEntityDefinition} instance by the specified name. * @param name - The name of the definition * @param includeConditionalMembers - Include conditional members * @param loadPermissions - Load permissions for the definition * @param cacheSignature - Signature of the cached resources for controlling browser caching * @returns Promise which resolves to an {@link IEntityDefinition} or null. */ getCachedAsync(name: string, includeConditionalMembers?: boolean, loadPermissions?: boolean, cacheSignature?: string): NullableResultPromise; getCachedAsync(id: number, includeConditionalMembers?: boolean, loadPermissions?: boolean, cacheSignature?: string): NullableResultPromise; getNameAsync(id: number, cacheSignature?: string): NullableResultPromise; getNameCachedAsync(id: number, cacheSignature?: string): NullableResultPromise; getIdAsync(name: string, cacheSignature?: string): NullableResultPromise; getIdCachedAsync(name: string, cacheSignature?: string): NullableResultPromise; /** * Get multiple entity definitions. * @param names - Names of the definitions to fetch * @param includeConditionalMembers - Include conditional members * @param loadPermissions - Load permissions for the definitions * @returns A list of entity definitions. */ getManyAsync(names: Array, includeConditionalMembers?: boolean, loadPermissions?: boolean): Promise>; /** * Get multiple entity definitions. * @param ids - The ids of the definitions to fetch * @param includeConditionalMembers - Include conditional members * @param loadPermissions - Load permissions for the definitions * @returns A list of entity definitions. */ getManyAsync(ids: Array, includeConditionalMembers?: boolean, loadPermissions?: boolean): Promise>; /** * Get multiple entity definitions. Check the cache before making a request. * @param names - Names of the definitions to fetch * @param includeConditionalMembers - Include conditional members * @param loadPermissions - Load permissions for the definitions * @returns A list of entity definitions. */ getManyCachedAsync(names: Array, includeConditionalMembers?: boolean, loadPermissions?: boolean): Promise>; /** * Get multiple entity definitions. Check the cache before making a request. * @param ids - The ids of the definitions to fetch * @param includeConditionalMembers - Include conditional members * @param loadPermissions - Load permissions for the definitions * @returns A list of entity definitions. */ getManyCachedAsync(ids: Array, includeConditionalMembers?: boolean, loadPermissions?: boolean): Promise>; getNamesAsync(ids: Array): Promise>; getNamesCachedAsync(ids: Array): Promise>; getIdsAsync(names: Array): Promise>; getIdsCachedAsync(names: Array): Promise>; saveAsync(definition: IEntityDefinition): Promise; deleteAsync(name: string): Promise; deleteAsync(id: number): Promise; getRangeAsync(skip: number, take: number): Promise; getRangeIdsAsync(skip: number, take: number): Promise; createEntityDefinitionIterator(pageSize: number): IEntityDefinitionIterator; createEntityDefinitionIdIterator(pageSize: number): IIdIterator; } export declare class EntityDefinitionsClient implements IEntityDefinitionsClient { private static _batchSize; private readonly _client; private readonly _cache; constructor(client: IExtendedContentHubClient); getAllCachedAsync(includeConditionalMembers?: boolean, loadPermissions?: boolean, viewMode?: ViewMode, excludeTaxonomyDefinitions?: boolean, excludeSystemOwnedDefinitions?: boolean, filter?: string, definitionsToLoadByName?: string, definitionsToLoadById?: string, excludeLightDefinitions?: boolean): Promise>; getAllAsync(includeConditionalMembers?: boolean, loadPermissions?: boolean, viewMode?: ViewMode, excludeTaxonomyDefinitions?: boolean, excludeSystemOwnedDefinitions?: boolean, filter?: string, definitionsToLoadByName?: string, definitionsToLoadById?: string, excludeLightDefinitions?: boolean): Promise>; getAsync(param: string | number, includeConditionalMembers?: boolean, loadPermissions?: boolean, cacheSignature?: string): NullableResultPromise; getCachedAsync(param: string | number, includeConditionalMembers?: boolean, loadPermissions?: boolean, cacheSignature?: string): NullableResultPromise; getNameAsync(id: number, cacheSignature?: string): NullableResultPromise; getNameCachedAsync(id: number, cacheSignature?: string): NullableResultPromise; getIdAsync(name: string, cacheSignature?: string): NullableResultPromise; getIdCachedAsync(name: string, cacheSignature?: string): NullableResultPromise; getManyAsync(param: Array | Array, includeConditionalMembers?: boolean, loadPermissions?: boolean): Promise>; getManyCachedAsync(param: Array | Array, includeConditionalMembers?: boolean, loadPermissions?: boolean): Promise>; getNamesAsync(ids: Array): Promise>; getNamesCachedAsync(ids: Array): Promise>; getIdsAsync(names: Array): Promise>; getIdsCachedAsync(names: Array): Promise>; saveAsync(definition: IEntityDefinition): Promise; deleteAsync(param: string | number): Promise; getRangeAsync(skip: number, take: number): Promise; getRangeIdsAsync(skip: number, take: number): Promise; createEntityDefinitionIterator(pageSize: number): IEntityDefinitionIterator; createEntityDefinitionIdIterator(pageSize: number): IIdIterator; private getDefinitionsSkipTake; private getDefinitionAsync; private getDefinitionsBatchedAsync; private getAllBatchedAsync; }