import type { Promisable } from 'type-fest'; export type ValidationError = { message?: string; params?: Record; key: string; value: unknown; originalValue: unknown; }; export type ValidationFunction> = (data: T) => Promisable; export interface Change { key: string; value: unknown; } /** * This interface is for the old changeset compatibility */ export interface Changeset = Record> { data: T; changes: Change[]; errors: ValidationError[]; isValid: boolean; isPristine: boolean; isInvalid: boolean; isDirty: boolean; execute(): void; unexecute(): void; save(options?: Record): Promisable; rollback(): void; rollbackProperty(key: string): void; addError(error: ValidationError): void; get(key: string): unknown; set(key: string, value: unknown): void; validate(fn: ValidationFunction): Promisable; } //# sourceMappingURL=changeset.d.ts.map