import { derivedContextType } from "../contexts/context.derived.js"; import { stateContextType } from "../contexts/context.state.js"; import { storeContextType } from "../contexts/context.store.js"; import { ActionEvent, CollectAction, CollectOption, CollectUpdateByDelta, EventType, UpdateByDeltaEvent } from "../events/events.js"; import { ProductOption } from "@repobit/dex-store"; import { LitElement } from "lit"; type Options = Map>; type Actions = Map>; type DeltaUpdate = Map>; export declare class StateNode extends LitElement { autoForward: boolean; noCollect: boolean; ignoreEvents?: string; storeName: symbol | string; etaMutationDelay: number; etaMutationDelayMax: number; ignoreEventsParent: boolean; /** * all options as seens by this node * options + partialOptions */ _options: Options; /** * all actions as seens by this node */ _actions: Actions; /** * all delta updates as seens by this node * changes that affect only devices and subscription */ _deltaUpdates: DeltaUpdate; /** * all product changes as seens by this node */ _partialOptions: Actions; /** * all product changes as seens by this node */ _partialBundleOptions: Actions; /** * Consumes store provided by root node */ _store?: storeContextType; /** * Raw event pushed from parent (if any) */ _eventParent?: EventType; _derived?: derivedContextType | null; _event?: EventType; _eventDom?: EventType; /** * Local state */ state: stateContextType; /** * all options computed by this node * options * actions */ get computedOptions(): ProductOption[] | undefined; private _compute; private _events; private _collect; private _eta; shouldRunEtaStateRender(): boolean; shouldObserveEtaMutations(): boolean; getEtaArgs(): unknown[]; buildEtaContext(): Promise; isStateNodeElement(el: Element): boolean; connectedCallback(): void; remove(): void; disconnectedCallback(): void; protected _eventChange(e: EventType): void; protected _forwardEvent(e?: EventType | undefined): void; protected _receiveParentEvent(e?: EventType): void; protected _pushEventToChildren(e?: EventType): void; collectOption({ name, options }: CollectOption): void; protected _notifyParent(): void; protected getUpdateComplete(): Promise; protected isDeviceAndSubscriptionChange(evt: EventType): evt is ActionEvent; protected isBundleToogle(evt: EventType): evt is ActionEvent; protected isProductChange(evt: EventType): evt is ActionEvent; protected isActionEvent(evt: EventType): evt is ActionEvent; protected isDeltaUpdate(evt: EventType): evt is UpdateByDeltaEvent; protected _isIgnoredSource(e: EventType): boolean; private _getIgnoreSet; render(): import("lit-html").TemplateResult<1>; } export {};