import type { Snippet } from 'svelte'; export type FormContextState = { currentForm: string | null; validationMode: 'strict' | 'loose'; formErrors: Record; }; export type AppContextState = { editMode: boolean; repairMode: boolean; title: string | null; }; export type DataContextState = { cacheSize: number; syncInterval: number; lastSync: number | null; }; export type ContextState = { data: T; updatedAt: number; version: number; }; export type GlobalContextState = { contexts: Map; activeContexts: Set; }; export interface ContextOperations { get(): T | null; set(data: Partial): void; update(updater: (current: T | null) => T): void; clear(): void; reset(): void; subscribe(callback: (data: T | null) => void): () => void; } export interface GlobalContextOperations { getContext(key: string): ContextOperations; hasContext(key: string): boolean; removeContext(key: string): void; clearAll(): void; resetAll(): void; resetByKey(key: string): void; getActiveContexts(): string[]; getAllContexts(): Record; getContextMetadata(key: string): { updatedAt: number; version: number; isActive: boolean; } | null; get state(): Record; subscribe(callback: (event: ContextEvent | GlobalContextEvent) => void): () => void; } export interface ContextEvent { type: 'set' | 'update' | 'clear' | 'reset'; contextKey: string; data: unknown; previousData?: unknown; timestamp: number; } export interface GlobalContextEvent { type: 'clearAll' | 'resetAll' | 'remove'; contextKey?: string; data?: unknown; previousData?: unknown; timestamp: number; } export interface ConfiguratorWatchOptions { watchAll?: boolean; watchKeys?: string[]; debounceMs?: number; } export interface ConfiguratorState> { configurator: T | null; configuratorCache: T | null; hasChanged: boolean; watchOptions: ConfiguratorWatchOptions; } export interface AppContextData> { editMode: boolean; repairMode: boolean; title: string | null; debugMode?: boolean; configurator: ConfiguratorState; } export interface FormContextData { formKey: string | null; formUpdateKey: string | null; } export interface DataContextData> { state: TData | null; } export interface GlobalProviderProps { initialContexts?: Record; debug?: boolean; children?: Snippet; } export declare const CONTEXT_KEYS: { readonly APP: "app"; readonly FORM: "form"; readonly DATA: "data"; }; export type ContextId = string & { readonly brand: unique symbol; }; export type ContextKey = keyof typeof CONTEXT_KEYS;