/** @jsxImportSource react */ import { SubscribableView, SubscribableViewConfig } from "../data/SubscribableView"; import { IsolatedScope, IsolatedScopeConfig } from "./IsolatedScope"; import { Instance } from "./Instance"; import { StructuredProp } from "./Prop"; interface ContainmentStoreConfig extends SubscribableViewConfig { selector: any; } declare class ContainmentStore extends SubscribableView { selector: any; cache: { version: number; data?: any; result?: any; itemIndex?: number; key?: string; parentStoreData?: any; containedData?: any; }; constructor(config: ContainmentStoreConfig); getData(): any; setItem(path: string, value: any): boolean; deleteItem(path: string): boolean; wrapper(callback: () => void): boolean; } export interface DetachedScopeInstance extends Instance { subStore: ContainmentStore; } export interface DetachedScopeConfig extends IsolatedScopeConfig { /** * A single binding path or a list of paths to be monitored for changes. * Use `exclusive` as a shorthand for defining the `exclusiveData` object. */ exclusive?: string | string[]; /** * Exclusive data selector. If only exclusive data change, the scope will be re-rendered * without recalculating other elements on the page. * Use in case if the scope uses both exclusive and shared data. */ exclusiveData?: StructuredProp; /** Name of the scope used for debugging/reporting purposes. */ name?: string; /** Options passed to the Cx component. */ options?: any; /** Error handler for the detached scope. */ onError?: (error: Error, instance: Instance, info: any) => void; } export declare class DetachedScope extends IsolatedScope { exclusive?: string | string[]; exclusiveData?: any; container?: any; name?: string; options?: any; onError?: any; declareData(...args: any[]): void; init(): void; initInstance(context: any, instance: DetachedScopeInstance): void; applyParentStore(instance: any): void; render(context: any, instance: any, key: string): import("react/jsx-runtime").JSX.Element; } export {}; //# sourceMappingURL=DetachedScope.d.ts.map