import { Slice } from "./parts/slice.js";
import { SliceAccessors, Sliceable } from "./parts/types.js";
export declare class StateTree<S> implements Sliceable<S> {
    #private;
    constructor(state: S, onChange?: () => void);
    get state(): S;
    transmute(fun: (state: S) => S): void;
    slice<X>({ getter, setter }: SliceAccessors<S, X>): Slice<S, X>;
}
