export type RecordMutationKind = 'create' | 'update' | 'delete'; export declare const RECORD_MUTATION_EVENT = "metacore:record-mutated"; export interface RecordMutationDetail { /** Model key as the emitter knows it (matched case-insensitively). */ model: string; kind: RecordMutationKind; } /** Announce a successful mutation. Safe to call outside a browser (no-op). */ export declare function emitRecordMutation(model: string | undefined | null, kind: RecordMutationKind): void; /** * Delays (ms) at which a mutation is announced again. The backend's event * subscribers write AFTER the action answered (stamping → the invoice's state, * a payment → its auto-stamped REP), so a list or tab that reloaded at once kept * showing the previous state until a manual reload (retest Pitsline r5). */ export declare const RECORD_MUTATION_SETTLE_DELAYS: readonly number[]; /** * Announce a mutation now and again after `delays`, so what the server derives * asynchronously from it reaches mounted lists too. Returns a cancel function. */ export declare function emitRecordMutationSettled(model: string | undefined | null, kind: RecordMutationKind, delays?: readonly number[]): () => void; /** * Listen for mutations of `model` (case-insensitive). Returns an unsubscribe. */ export declare function subscribeRecordMutations(model: string | undefined | null, cb: (detail: RecordMutationDetail) => void): () => void; //# sourceMappingURL=record-mutation-events.d.ts.map