import { MachineEvent, SettingsContext } from './types'; /** * SETTINGS MACHINE - COMPLETELY REFACTORED * * DESIGN PHILOSOPHY: * This machine has been completely rewritten to eliminate any possibility of infinite loops * by enforcing a strict separation between: * 1. PUBLIC STATE: User-facing settings (stable, exposed to consumers) * 2. INTERNAL STATE: Machine logic state (may have reference changes, never exposed) * * ARCHITECTURE: * - Context is split into `public` and `internal` namespaces * - Components ONLY access `context.public` via selectors * - NO filtering is needed - separation is built into the structure * - ConfigurationModel reference changes are isolated to `context.internal` * - Redux receives ONLY `context.public` - no manual filtering required * * WHY THIS WORKS: * - Reference changes in `context.internal.configModel` don't affect `context.public` * - Components using selectors get stable references to `context.public` * - No manual filtering means no chance of accidentally exposing internal state * - Type system enforces the separation at compile time */ export declare const settingsMachine: import("xstate").StateMachine, import("xstate").ProvidedActor, import("xstate").ParameterizedObject, import("xstate").ParameterizedObject, string, import("xstate").StateValue, string, { settings: any; currentRoute?: string; routePattern?: string; }, {}, import("xstate").EventObject, import("xstate").MetaObject, any>; //# sourceMappingURL=settingsMachine.d.ts.map