/** Which store an action is allowed to write. */ export type MutationDomain = 'semantic' | 'layout' | 'neither'; /** Payload keys that only ever describe presentation. */ export declare const LAYOUT_ONLY_FIELDS: readonly string[]; export declare function mutationDomain(messageType: string): MutationDomain; /** A mutation carrying data from a domain it is not allowed to write. */ export declare class MixedMutationDomainError extends Error { readonly messageType: string; readonly offendingFields: readonly string[]; constructor(messageType: string, offendingFields: readonly string[]); } /** * Refuse a semantic mutation that also carries layout data. * * The check runs on the payload rather than trusting the caller, because the * mixture arrives from a client: a properties panel that happened to spread a * node object into its save request would otherwise write a canvas position * into `.sysml` as an ordinary attribute, and nothing downstream would tell it * apart from a modelled one. */ export declare function assertSingleDomainMutation(messageType: string, payload: unknown): void; //# sourceMappingURL=mutation-domain.d.ts.map