declare const ContextWithDefaultSymbol: unique symbol; type ArrayMaybe = T[] | T; type Callback = () => void; type Child = null | undefined | boolean | bigint | number | string | symbol | Node | Array | (() => Child); type ChildWithMetadata = (() => Child) & { metadata: T; }; type Classes = FunctionMaybe> | (FunctionMaybe | Classes)[]>; type ComponentFunction

= (props: P) => Child; type ComponentIntrinsicElement = keyof JSX.IntrinsicElements; type ComponentNode = Node; type Component

= ComponentFunction

| ComponentIntrinsicElement | ComponentNode; type ComponentsMap = Record>; type Constructor = { new (): T; }; type ConstructorWith = { new (...args: Arguments): T; }; type ContextData = { symbol: symbol; defaultValue?: T; }; type ContextProvider = (props: { value: T; children: Child; }) => Child; type Context = { Provider: ContextProvider; }; type ContextWithDefault = Context & { readonly [ContextWithDefaultSymbol]: true; }; type DirectiveFunction = (ref: globalThis.Element, ...args: Arguments) => void; type DirectiveProvider = (props: { children: Child; }) => Child; type DirectiveRef = (...args: Arguments) => ((ref: globalThis.Element) => void); type DirectiveRegister = () => void; type Directive = { Provider: DirectiveProvider; ref: DirectiveRef; register: DirectiveRegister; }; type DirectiveData = { fn: DirectiveFunction; immediate: boolean; }; type DirectiveOptions = { immediate?: boolean; }; type Disposer = () => void; type EffectFunction = () => Disposer | void; type EffectOptions = import('oby').EffectOptions; type Element = () => T; type ExtractArray = Extract; type EventListener = (event: Event) => void; type Falsy = Extract; type ForOptions = import('oby').ForOptions; type FN = (...args: Arguments) => Return; type FragmentUndefined = { placeholder?: Node; values: undefined; fragmented?: false; length: 0; }; type FragmentNode = { placeholder?: Node; values: Node; fragmented?: false; length: 1; }; type FragmentFragment = { placeholder?: Node; values: Fragment; fragmented: true; length: 1; }; type FragmentNodes = { placeholder?: Node; values: Node[]; fragmented?: false; length: 2 | 3 | 4 | 5; }; type FragmentFragments = { placeholder?: Node; values: Fragment[]; fragmented: true; length: 2 | 3 | 4 | 5; }; type FragmentMixed = { placeholder?: Node; values: (Node | Fragment)[]; fragmented: true; length: 2 | 3 | 4 | 5; }; type Fragment = FragmentUndefined | FragmentNode | FragmentFragment | FragmentNodes | FragmentFragments | FragmentMixed; type FunctionMaybe = (() => T) | T; type Indexed = T extends ObservableReadonly ? ObservableReadonly : ObservableReadonly; type LazyComponent

= (props: P) => ObservableReadonly; type LazyFetcher

= () => Promise<{ default: ComponentFunction

; } | ComponentFunction

>; type LazyResult

= LazyComponent

& ({ preload: () => Promise; }); type MemoOptions = import('oby').MemoOptions; type Observable = import('oby').Observable; type ObservableLike = import('oby').ObservableLike; type ObservableReadonly = import('oby').ObservableReadonly; type ObservableReadonlyLike = import('oby').ObservableReadonlyLike; type ObservableMaybe = Observable | ObservableReadonly | T; type ObservableOptions = import('oby').ObservableOptions; type PromiseMaybe = Promise | T; type Props = Record; type Ref = (value: T) => void; type ResourceStaticPending = { pending: true; error?: never; value?: never; latest?: T; }; type ResourceStaticRejected = { pending: false; error: Error; value?: never; latest?: never; }; type ResourceStaticResolved = { pending: false; error?: never; value: T; latest: T; }; type ResourceStatic = ResourceStaticPending | ResourceStaticRejected | ResourceStaticResolved; type ResourceFunction = { pending(): boolean; error(): Error | undefined; value(): T | undefined; latest(): T | undefined; }; type Resource = ObservableReadonly> & ResourceFunction; type StoreOptions = import('oby').StoreOptions; type Styles = FunctionMaybe> | (FunctionMaybe | Styles)[]>; type SuspenseCollectorData = { active: Observable; register: (suspense: SuspenseData) => void; unregister: (suspense: SuspenseData) => void; }; type SuspenseData = { active: Observable; increment: (nr?: number) => void; decrement: (nr?: number) => void; }; type TemplateActionPath = number[]; type TemplateActionProxy = (target: Node, method: string, key?: string, targetNode?: Node) => void; type TemplateActionWithNodes = [Node, string, string, string?, Node?]; type TemplateActionWithPaths = [TemplateActionPath, string, string, string?, TemplateActionPath?]; type TemplateVariableProperties = string[]; type TemplateVariableData = { path: TemplateActionPath; properties: TemplateVariableProperties; }; type TemplateVariablesMap = Map; type Truthy = Exclude; export type { ArrayMaybe, Callback, Child, ChildWithMetadata, Classes, ComponentFunction, ComponentIntrinsicElement, ComponentNode, Component, ComponentsMap, Constructor, ConstructorWith, ContextData, ContextProvider, Context, ContextWithDefault, DirectiveFunction, DirectiveProvider, DirectiveRef, DirectiveRegister, Directive, DirectiveData, DirectiveOptions, Disposer, EffectFunction, EffectOptions, Element, ExtractArray, EventListener, Falsy, ForOptions, FN, FragmentUndefined, FragmentNode, FragmentFragment, FragmentNodes, FragmentFragments, FragmentMixed, Fragment, FunctionMaybe, Indexed, LazyComponent, LazyFetcher, LazyResult, MemoOptions, Observable, ObservableLike, ObservableReadonly, ObservableReadonlyLike, ObservableMaybe, ObservableOptions, PromiseMaybe, Props, Ref, ResourceStaticPending, ResourceStaticRejected, ResourceStaticResolved, ResourceStatic, ResourceFunction, Resource, StoreOptions, Styles, SuspenseCollectorData, SuspenseData, TemplateActionPath, TemplateActionProxy, TemplateActionWithNodes, TemplateActionWithPaths, TemplateVariableProperties, TemplateVariableData, TemplateVariablesMap, Truthy };