import type { AttributeDefinitions, EntityConstructor as BaseEntityConstructor, Readonly, TableDef } from "../../toolbox.js"; import { Entity as BaseEntity } from "../../toolbox.js"; import type { ITableWriteBatch } from "../table/types.js"; import type { IEntity, IEntityCreateEntityReaderParams, IEntityCreateEntityWriterParams, IEntityDeleteResult, IEntityGetCleanResult, IEntityGetResult, IEntityPutResult, IEntityQueryAllCleanResult, IEntityQueryAllParams, IEntityQueryAllResult, IEntityQueryOneCleanResult, IEntityQueryOneParams, IEntityQueryOneResult, IEntityQueryPerPageParams, IEntityReadBatch, IEntityWriteBatch } from "./types.js"; import type { IPutParamsItem } from "../put.js"; import type { GetRecordParamsKeys } from "../get.js"; import type { IDeleteItemKeys } from "../delete.js"; import type { GenericRecord } from "@webiny/api/types.js"; export type EntityConstructor = Readonly> = BaseEntityConstructor; export declare class Entity implements IEntity { readonly entity: BaseEntity; get name(): string; get table(): TableDef; constructor(params: EntityConstructor); createEntityReader(params?: IEntityCreateEntityReaderParams): IEntityReadBatch; createEntityWriter(params?: IEntityCreateEntityWriterParams): IEntityWriteBatch; createTableWriter(): ITableWriteBatch; put(item: IPutParamsItem): IEntityPutResult; get(keys: GetRecordParamsKeys): IEntityGetResult; getClean(keys: GetRecordParamsKeys): IEntityGetCleanResult; delete(keys: IDeleteItemKeys): IEntityDeleteResult; queryOne(params: IEntityQueryOneParams): IEntityQueryOneResult; queryOneClean(params: IEntityQueryOneParams): IEntityQueryOneCleanResult; queryAll(params: IEntityQueryAllParams): IEntityQueryAllResult; queryAllClean(params: IEntityQueryAllParams): IEntityQueryAllCleanResult; queryPerPage(params: IEntityQueryPerPageParams): Promise>; } export declare const createEntity: (params: EntityConstructor) => IEntity;