import { $REFRESH, type Computed } from "../core/index.js"; import { type ProjectionOptions, type Store } from "./store.js"; export declare function createProjectionInternal(fn: (draft: T) => void | T | Promise | AsyncIterable, initialValue?: T, options?: ProjectionOptions): { store: Store & { [$REFRESH]: any; }; node: Computed; }; /** * Creates a mutable derived store (projection). The derive function receives a mutable * draft and can mutate it directly or return a new value for reconciliation. * * ```typescript * const store = createProjection(fn, initialValue?, options?: ProjectionOptions); * ``` * @param fn a function that receives the current draft and mutates it or returns new data * @param initialValue the initial store value (defaults to `{}`) * @param options `ProjectionOptions` -- name, key, all * * @see {@link https://github.com/solidjs/x-reactivity#createprojection} */ export declare function createProjection(fn: (draft: T) => void | T | Promise | AsyncIterable, initialValue?: T, options?: ProjectionOptions): Store & { [$REFRESH]: any; }; export declare function createWriteTraps(isActive?: () => boolean): ProxyHandler; export declare const writeTraps: ProxyHandler;