import { Queue, type Computed, type Effect } from "./core/index.js"; import type { Signal } from "./core/index.js"; export interface BoundaryComputed extends Computed { _propagationMask: number; } type RevealSlot = CollectionQueue | RevealController; type BoolAccessor = () => boolean; export declare class RevealController { _togetherAccessor: BoolAccessor; _collapsedAccessor: BoolAccessor; _slots: RevealSlot[]; _parentController?: RevealController; _disabled: Signal; _collapsed: Signal; _ready: boolean; _evaluating: boolean; constructor(together: BoolAccessor, collapsed: BoolAccessor); _forEachOwnedSlot(fn: (slot: RevealSlot) => boolean | void): boolean; isReady(): boolean; register(slot: RevealSlot): void; unregister(slot: RevealSlot): void; evaluate(disabledOverride?: boolean, collapsedOverride?: boolean): void; } export declare class CollectionQueue extends Queue { _collectionType: number; _sources: Set>; _tree?: BoundaryComputed; _pending: boolean; _disabled: Signal; _collapsed: Signal; _revealController?: RevealController; _initialized: boolean; _onFn: (() => any) | undefined; _prevOn: any; constructor(type: number); run(type: number): void; notify(node: Effect, type: number, flags: number, error?: any): boolean; checkSources(): void; } export declare function createLoadingBoundary(fn: () => any, fallback: () => any, options?: { on?: () => any; }): import("./signals.js").Accessor; export declare function createErrorBoundary(fn: () => any, fallback: (error: unknown, reset: () => void) => U): import("./signals.js").Accessor; export declare function createRevealOrder(fn: () => T, options?: { together?: BoolAccessor; collapsed?: BoolAccessor; }): T; export declare function flatten(children: any, options?: { skipNonRendered?: boolean; doNotUnwrap?: boolean; }): any; export {};