import 'reflect-metadata'; import { ClassConstructor, ClassTransformOptions } from 'class-transformer'; import { Uuid } from '../uuid.js'; import { JsonMap } from '@salesforce/ts-types'; export { Transform, Exclude, Expose } from 'class-transformer'; export type Reference = T | [string, Uuid] | string; export interface SavedFile extends Record { path: string; } export interface EntityConstructorOptions extends Record { label?: string; } export interface CollectionMeta { isRelationship?: true; constructor: ClassConstructor; } export declare function isEntity(value: unknown): value is Entity; export declare abstract class Entity { static readonly types: Map; static idFromReference(r: Reference): string; [property: string]: unknown; _key: Uuid; _collection: string; _id: string; _created: string; _modified: string; _rev?: string; label?: string; constructor(data?: EntityConstructorOptions); protected static getSerializerOptions(): ClassTransformOptions; static fromJSON(this: T, data: string | JsonMap): InstanceType; toJSON(): JsonMap; serialize(): string; /** * Key and ID management; child classes can override keySeed() * if they need to ensure uniqueness based on other properties. * Leave it as for a random Uuid key; return a dictionary of * prop names and values for a Uuid-shaped hash. */ protected assignKey(): void; protected keySeed(): unknown; get key(): string; get documentId(): string; get(path: string, fallback?: unknown): unknown; set(path: string, value: unknown): this; has(path: string): boolean; delete(path: string): boolean; } //# sourceMappingURL=entity.d.ts.map