import type { SliceMap } from './container'; export declare class Slice { #private; readonly type: SliceType; constructor(container: SliceMap, value: T, type: SliceType); on(watcher: (value: T) => unknown): () => void; once(watcher: (value: T) => unknown): () => void; off(watcher: (value: T) => unknown): void; offAll(): void; set: (value: T) => void; get: () => T; update: (updater: (prev: T) => T) => void; } export declare class SliceType { readonly id: symbol; readonly name: N; readonly _typeInfo: () => T; readonly _defaultValue: T; constructor(value: T, name: N); create(container: SliceMap, value?: T): Slice; } export declare const createSlice: (value: T, name: N) => SliceType; //# sourceMappingURL=slice.d.ts.map