export type ChunkTerminal = string | number | boolean | object | null | undefined; export type ChunkNode = Record; export type Chunkable = ChunkTerminal | ChunkNode; export declare class Chunk { chunk: ChunkNode; callbacks: Record void>>; constructor(chunk?: ChunkNode); get(slot: string): Type; set(slot: string, val: Type): void; on(slot: string, callback: (val: Chunkable | undefined) => void): void; updateCallbacks: Array<(slot: string, val: Chunkable | undefined, oldVal: Chunkable | undefined) => void>; onUpdate(callback: (slot: string, val: Chunkable | undefined, oldVal: Chunkable | undefined) => void): void; getSlot(n: ChunkNode, chain: string[]): Type | undefined; setSlot(n: ChunkNode, chain: string[], val: Type): void; toString(): string; toJson(): any; } export default Chunk;