/** * Read-only signal wrappers. */ import type { Signal } from './core'; declare const READONLY_SIGNAL_BRAND: unique symbol; /** @internal */ type ReadonlySignalWrapper = ReadonlySignal & { readonly [READONLY_SIGNAL_BRAND]: true; }; /** * A readonly wrapper around a signal that prevents writes. * Provides read-only access to a signal's value while maintaining reactivity. * * @template T - The type of the wrapped value */ export interface ReadonlySignal { /** Gets the current value with dependency tracking. */ readonly value: T; /** Gets the current value without dependency tracking. */ peek(): T; } /** * Determines whether a value is a bQuery readonly signal wrapper. * * @internal */ export declare const isReadonlySignal: (value: unknown) => value is ReturnType>; /** * Creates a read-only view of a signal. * Useful for exposing reactive state without allowing modifications. * * @template T - The type of the signal value * @param sig - The signal to wrap * @returns A readonly signal wrapper */ export declare const readonly: (sig: Signal) => ReadonlySignalWrapper; /** * Branded readonly wrapper type produced by {@link readonly}. * * Useful for APIs that compose additional behavior on top of a readonly signal * without widening to arbitrary structural `{ value, peek }` objects. */ export type ReadonlySignalHandle = ReturnType>; export {}; //# sourceMappingURL=readonly.d.ts.map