import { StateBase, ActionsBase, StoreSpec, StoreInstance, Resolver, StoreContext } from '../types'; export { createFocus } from './focus'; /** * Options for creating store context. */ export interface CreateStoreContextOptions { /** The store specification */ spec: StoreSpec; /** The resolver for dependencies */ resolver: Resolver; /** Get current mutable state */ getMutableState: () => TState; /** Update state using immer */ update: (updater: ((draft: TState) => void) | Partial) => void; /** Subscribe to store changes */ subscribe: (listener: () => void) => VoidFunction; /** Check if property is dirty */ dirty: (prop?: keyof TState) => boolean; /** Reset state to initial */ reset: () => void; /** Get the store instance (may be null during setup) */ getInstance: () => StoreInstance | null; /** Callback when dependency is resolved */ onDependency?: (instance: StoreInstance) => void; /** Register a callback to run when parent store disposes */ onDispose?: (callback: () => void) => void; /** Check if in setup phase */ isSetupPhase: () => boolean; } /** * Create a store context for the setup function. * * The context provides: * - state: Mutable reactive state proxy * - get(): Get other store's state and actions * - create(): Create a child store with automatic disposal * - update(): Update state with immer or partial object * - focus(): Create lens-like accessor for nested paths * - mixin(): Compose reusable mixins * - dirty(): Check if state has been modified * - reset(): Reset state to initial values */ export declare function createStoreContext(options: CreateStoreContextOptions): StoreContext; //# sourceMappingURL=storeContext.d.ts.map