import { type Accessor, AccessorProp, type EncodedAccessor, type Scope } from "../common/types"; export type SignalFn = (scope: Scope) => void; export type Signal = (scope: U, value: T) => void; export declare function _let(id: EncodedAccessor, fn?: SignalFn): (scope: Scope, value: T) => T; export declare function _let_change(id: EncodedAccessor, fn?: SignalFn): (scope: Scope, value: T, valueChange?: (v: T) => void) => T; export declare function _const(valueAccessor: EncodedAccessor, fn?: SignalFn): Signal; export declare function _or(id: number, fn: SignalFn, defaultPending?: number, scopeIdAccessor?: EncodedAccessor): Signal; export declare function _for_closure(ownerLoopNodeAccessor: EncodedAccessor, fn: SignalFn): SignalFn; export declare function _if_closure(ownerConditionalNodeAccessor: EncodedAccessor, branch: number, fn: SignalFn): SignalFn; export declare function subscribeToScopeSet(ownerScope: Scope, accessor: Accessor, scope: Scope): void; export declare function _closure(...closureSignals: ReturnType[]): (scope: Scope) => void; export declare function _closure_get(valueAccessor: EncodedAccessor, fn: SignalFn, getOwnerScope?: (scope: Scope) => Scope, resumeId?: string): SignalFn & { scopeInstancesAccessor: string; signalIndexAccessor: string; index: number; }; export declare function _child_setup(setup: Signal & { _: Signal; }): Signal & { _: Signal; }; export declare function _var(scope: Scope, childAccessor: EncodedAccessor, signal: Signal): void; export declare const _return: (scope: Scope, value: unknown) => any; export declare function _return_change(scope: Scope, changeHandler?: ((value: unknown) => void) | null | false): void; export declare const _var_change: (scope: Scope, value: unknown, name?: string) => void; export declare function _id({ [AccessorProp.Global]: $global }: Scope): string; export declare function _script(id: string, fn: (scope: Scope) => void): (scope: Scope) => void; export declare function _el_read(value: T): T; type Hoistable = () => T; type Hoisted = Hoistable & Iterable; export declare function _hoist(...path: Accessor[]): (scope: Scope) => Hoisted; export declare function _hoist_resume(id: string, ...path: Accessor[]): (scope: Scope) => Hoisted; export {};