import { ReactivePromiseImpl } from './async.js'; import type { ReactiveSignal } from './reactive.js'; export declare const enum EdgeType { Signal = 0, Promise = 1 } export interface EdgeTypeDep { [EdgeType.Signal]: ReactiveSignal; [EdgeType.Promise]: ReactivePromiseImpl; } export declare class EdgeBase { type: EdgeType; dep: EdgeTypeDep[EdgeType]; ord: number; updatedAt: number; consumedAt: number; nextDirty: Edge | undefined; constructor(type: EdgeType, dep: EdgeTypeDep[EdgeType], updatedAt: number, consumedAt: number); } export interface SignalEdge extends EdgeBase { type: EdgeType.Signal; dep: ReactiveSignal; } export interface PromiseEdge extends EdgeBase { type: EdgeType.Promise; dep: ReactivePromiseImpl; } export type Edge = SignalEdge | PromiseEdge; export declare function createEdge(prevEdge: Edge | undefined, type: T, dep: EdgeTypeDep[T], updatedAt: number, consumedAt: number): R; export declare function findAndRemoveDirty(sub: ReactiveSignal, dep: ReactiveSignal | ReactivePromiseImpl): Edge | undefined; //# sourceMappingURL=edge.d.ts.map