import { stateContextType } from "../contexts/context.state.js"; import { storeContextType } from "../contexts/context.store.js"; import { CollectAction, CollectUpdateByDelta } from "../events/events.js"; import { ProductOption } from "@repobit/dex-store"; import { ReactiveController, ReactiveControllerHost } from "lit"; type Options = Map>; type Actions = Map>; type DeltaUpdate = Map>; type ComputeHost = ReactiveControllerHost & { storeName: symbol | string; _store?: storeContextType; _options: Options; _actions: Actions; _deltaUpdates: DeltaUpdate; _partialOptions: Actions; _partialBundleOptions: Actions; state: stateContextType; }; export declare class ComputeController implements ReactiveController { private host; private _computeTask; constructor(host: ComputeHost); get value(): ProductOption[] | undefined; get taskComplete(): Promise; run(): void; abort(): void; hostConnected(): void; hostDisconnected(): void; hostUpdate(): void; hostUpdated(): void; private _isAbortError; private _computeState; private _seedOptions; private _expandFixedPoint; private _applyBundleCombinations; private _getOptionKey; private _applyPartials; private _applyActions; private _applyDeltaUpdates; private _applyAbsoluteDelta; private _applySteppedDelta; private _getDimensionValues; private _getAbsoluteBounds; /** * Returns the next delta value for this action, or null when expansion is done. */ private _computeDelta; private _computeContext; private _updateMinMax; private _createInitialState; private _getOptionByDimension; private _getOption; private _applyBundles; } export {};