import { PureContainerBase, PureContainerConfig } from "../ui/PureContainer"; import { Binding } from "../data/Binding"; import { ExposedValueView } from "../data/ExposedValueView"; import { RenderingContext } from "../ui/RenderingContext"; import { Instance } from "../ui/Instance"; import { StringProp, WritableProp } from "../ui/Prop"; import { AccessorChain } from "../data/createAccessorModelProxy"; export interface SandboxConfig extends PureContainerConfig { /** Binding to the object that holds sandbox data. */ storage: WritableProp>; /** Key used to identify the sandbox instance within the storage. */ key?: StringProp; /** Alias for `key`. */ accessKey?: StringProp; /** Alias used to expose sandbox data. Default is `$page`. */ recordName?: string | AccessorChain; /** Alias for `recordName`. */ recordAlias?: string | AccessorChain; /** Indicate that parent store data should not be mutated. */ immutable?: boolean; /** Indicate that sandbox store data should not be mutated. */ sealed?: boolean; } export interface SandboxInstance extends Instance { store: ExposedValueView; } export declare class Sandbox extends PureContainerBase { storage: WritableProp>; key?: StringProp; recordName?: string; recordAlias?: string; accessKey?: StringProp; immutable?: boolean; sealed?: boolean; storageBinding: Binding; init(): void; initInstance(context: RenderingContext, instance: SandboxInstance): void; applyParentStore(instance: SandboxInstance): void; declareData(...args: Record[]): void; prepareData(context: RenderingContext, instance: SandboxInstance): void; } //# sourceMappingURL=Sandbox.d.ts.map