import { TypeMetadata } from '@dipscope/type-manager'; import { IncludeBrowseCommandBuilder } from './command-builders/include-browse-command-builder'; import { RootBrowseCommandBuilder } from './command-builders/root-browse-command-builder'; import { SortBrowseCommandBuilder } from './command-builders/sort-browse-command-builder'; import { Entity } from './entity'; import { EntityCollection } from './entity-collection'; import { EntityCollectionLike } from './entity-collection-like'; import { EntityProvider } from './entity-provider'; import { FilterClause } from './filter-clause'; import { IncludeClause, IncludeCollectionClause } from './include-clause'; import { KeyValue } from './key-value'; import { Nullable } from './nullable'; import { PaginateClause } from './paginate-clause'; import { PaginatedEntityCollection } from './paginated-entity-collection'; import { SortClause } from './sort-clause'; /** * Entity set which allows manipulations over a certain entity type. * * @type {EntitySet} */ export declare class EntitySet { /** * Entity type metadata. * * @type {TypeMetadata} */ readonly typeMetadata: TypeMetadata; /** * Entity provider. * * @type {EntityProvider} */ readonly entityProvider: EntityProvider; /** * Constructor. * * @param {TypeMetadata} typeMetadata Entity type metadata. * @param {EntityProvider} entityProvider Entity provider. */ constructor(typeMetadata: TypeMetadata, entityProvider: EntityProvider); /** * Filters entity set. * * @param {FilterClause} filterClause Filter clause. * * @returns {RootBrowseCommandBuilder} Root browse command builder. */ filter(filterClause: FilterClause): RootBrowseCommandBuilder; /** * Sorts entity set in ascending order. * * @param {SortClause} sortClause Sort clause. * * @returns {SortBrowseCommandBuilder} Sort browse command builder. */ sortByAsc(sortClause: SortClause): SortBrowseCommandBuilder; /** * Sorts entity set in descending order. * * @param {SortClause} sortClause Sort clause. * * @returns {SortBrowseCommandBuilder} Sort browse command builder. */ sortByDesc(sortClause: SortClause): SortBrowseCommandBuilder; /** * Includes entity for eager loading. * * @param {IncludeClause} includeClause Include clause. * * @returns {IncludeBrowseCommandBuilder} Include browse command builder. */ include(includeClause: IncludeClause): IncludeBrowseCommandBuilder; /** * Includes entity collection for eager loading. * * @param {IncludeCollectionClause} includeCollectionClause Include collection clause. * * @returns {IncludeBrowseCommandBuilder} Include browse command builder. */ includeCollection(includeCollectionClause: IncludeCollectionClause): IncludeBrowseCommandBuilder; /** * Paginates entity set. * * @param {PaginateClause} paginateClause Paginate clause. * * @returns {RootBrowseCommandBuilder} Root browse command builder. */ paginate(paginateClause: PaginateClause): RootBrowseCommandBuilder; /** * Finds all entities in a set. * * @returns {Promise>} Paginated entity collection. */ findAll(): Promise>; /** * Finds one entity in a set. * * @returns {Promise>} Entity or null. */ findOne(): Promise>; /** * Finds one entity in a set or throws an exception. * * @returns {Promise} Entity or error. */ findOneOrFail(): Promise; /** * Finds entity by key values. * * @param {ReadonlyArray} keyValues Readonly array of key values. * * @returns {Promise>} Entity or null when entity not found. */ find(...keyValues: ReadonlyArray): Promise>; /** * Finds entity by key values or throws an error. * * @param {ReadonlyArray} keyValues Readonly array of key values. * * @returns {Promise} Entity or error. */ findOrFail(...keyValues: ReadonlyArray): Promise; /** * Adds an entity. * * @param {TEntity} entity Entity which should be added. * * @returns {Promise} Added entity. */ add(entity: TEntity): Promise; /** * Bulk adds an entity collection. * * @param {EntityCollectionLike} entityCollectionLike Entity collection like which should be added. * * @returns {Promise>} Added entity collection. */ bulkAdd(entityCollectionLike: EntityCollectionLike): Promise>; /** * Updates an entity. * * @param {TEntity} entity Entity which should be updated. * * @returns {Promise} Updated entity. */ update(entity: TEntity): Promise; /** * Bulk updates an entity collection. * * @param {EntityCollectionLike} entityCollectionLike Entity collection like which should be updated. * * @returns {Promise>} Added entity collection. */ bulkUpdate(entityCollectionLike: EntityCollectionLike): Promise>; /** * Batch updates an entity collection. * * @param {Partial} entityPartial Entity partial. * * @returns {Promise} Batch update promise. */ batchUpdate(entityPartial: Partial): Promise; /** * Saves an entity. * * @param {TEntity} entity Entity which should be saved. * * @returns {Promise} Saved entity. */ save(entity: TEntity): Promise; /** * Bulk saves an entity collection. * * @param {EntityCollectionLike} entityCollectionLike Entity collection like which should be saved. * * @returns {Promise>} Saved entity collection. */ bulkSave(entityCollectionLike: EntityCollectionLike): Promise>; /** * Removes an entity. * * @param {TEntity} entity Entity which should be removed. * * @returns {Promise} Removed entity. */ remove(entity: TEntity): Promise; /** * Bulk removes an entity collection. * * @param {EntityCollectionLike} entityCollectionLike Entity collection like which should be removed. * * @returns {Promise>} Removed entity collection. */ bulkRemove(entityCollectionLike: EntityCollectionLike): Promise>; /** * Batch removes an entity collection. * * @returns {Promise} Batch remove promise. */ batchRemove(): Promise; } //# sourceMappingURL=entity-set.d.ts.map