import type { PendingRender } from "../dom/queue"; import type { Renderer as ClientRenderer, Renderer } from "../dom/renderer"; import type { AccessorProp } from "./accessor.debug"; export type Falsy = undefined | null | false | 0 | ""; export interface BranchScope extends Scope { [AccessorProp.StartNode]: ChildNode; [AccessorProp.EndNode]: ChildNode; [AccessorProp.ParentBranch]: BranchScope | undefined; [AccessorProp.AbortScopes]: Set | undefined; [AccessorProp.BranchScopes]: Set | undefined; [AccessorProp.Renderer]: ClientRenderer | string; [AccessorProp.AwaitCounter]: AwaitCounter | undefined; [AccessorProp.PendingEffects]: unknown[] | undefined; [AccessorProp.PlaceholderBranch]: BranchScope | undefined | 0; [AccessorProp.PendingRenders]: PendingRender[] | 0 | undefined; [AccessorProp.DetachedAwait]: Renderer | 0 | undefined; [AccessorProp.PendingScopes]: Scope[] | void; } export interface Scope { [AccessorProp.Owner]: Scope | undefined; [AccessorProp.Global]: Record; [AccessorProp.Id]: number; [AccessorProp.Gen]: number; [AccessorProp.AbortControllers]: Record | undefined; [AccessorProp.ClosestBranch]: BranchScope | undefined; [AccessorProp.ClosestBranchId]: number | undefined; [x: `___${string}`]: never; [x: string | number]: any; } export declare enum ResumeSymbol { Node = "*", BranchStart = "[", BranchEnd = "]", BranchEndNativeTag = "'", BranchEndSingleNode = "|", BranchEndOnlyChildInParent = ")", BranchEndSingleNodeOnlyChildInParent = "}" } export interface AwaitCounter { m?: (effects: unknown[]) => unknown[]; i: number; c: () => void | 1; } export { AccessorPrefix, AccessorProp, ClosureSignalProp, PendingRenderProp, RendererProp, } from "./accessor.debug"; export declare enum NodeType { Element = 1, Text = 3, Comment = 8, DocumentFragment = 11 } export declare enum WalkCode { Get = 32, Inside = 36, Replace = 37, EndChild = 38, BeginChild = 47, BeginChildWithVar = 48, DynamicTagWithVar = 49, Next = 67, NextEnd = 91, Over = 97, OverEnd = 106, Out = 107, OutEnd = 116, Multiplier = 117, MultiplierEnd = 126 } export declare enum WalkRangeSize { Next = 20,// 67 through 91 Over = 10,// 97 through 106 Out = 10,// 107 through 116 Multiplier = 10 } export type Accessor = string; export type EncodedAccessor = number | string; export interface $Global { [x: PropertyKey]: unknown; signal?: AbortSignal; cspNonce?: string; renderId?: string; runtimeId?: string; } export interface Input { [x: PropertyKey]: unknown; } export interface TemplateInput extends Input { $global?: $Global; } export interface Template { mount(input: Input, reference: Node, position?: InsertPosition): MountedTemplate; render(input?: Input): RenderedTemplate; } export interface MountedTemplate { value: unknown; update(input: unknown): void; destroy(): void; } export type RenderedTemplate = PromiseLike & AsyncIterable & { toReadable(): ReadableStream>; }; export declare enum ControlledType { InputChecked = 0, InputCheckedValue = 1, InputValue = 2, SelectValue = 3, DetailsOrDialogOpen = 4, None = 5 }