import { IEntityVersionsResultsPaging, IEntityVersionsSearchParameters } from "../models"; export declare enum EntityVersionOperation { Create = "create", Update = "update", Upsert = "upsert", Delete = "delete" } export type EntityVersionInput = { operationType: EntityVersionOperation; entityType: string; entityId: TEntityId; data?: TEntity; modifiedByUserId?: string; }; export interface IEntityVersioningResults { paging?: IEntityVersionsResultsPaging; items: TResult[]; } export interface IEntityVersionsSearchInput { entityType: string; params: IEntityVersionsSearchParameters; } export interface IEntityVersioningProvider { isEnabled(): boolean; createVersion(input: EntityVersionInput): Promise; searchVersions(input: IEntityVersionsSearchInput): Promise>; }