import { Node } from "../html/ast";
import { StringRange } from "../base/ast";
import { EngineErrorKind, GraphErrorInfo } from "./errors";
import { EvaluatedData, DiffedData, LoadedData, SheetInfo } from "../html/virt";
export declare enum EngineDelegateEventKind {
Loading = "Loading",
Deleted = "Deleted",
Loaded = "Loaded",
Updating = "Updating",
Evaluated = "Evaluated",
Error = "Error",
NodeParsed = "NodeParsed",
Diffed = "Diffed",
ChangedSheets = "ChangedSheets"
}
declare type BaseEngineDelegateEvent = {
kind: KKind;
};
export declare type EvaluatedEvent = {
uri: string;
data: EvaluatedData;
} & BaseEngineDelegateEvent;
export declare type DeletedEvent = {
uri: string;
} & BaseEngineDelegateEvent;
export declare type DiffedEvent = {
uri: string;
data: DiffedData;
} & BaseEngineDelegateEvent;
export declare type NodeParsedEvent = {
uri: string;
node?: Node;
} & BaseEngineDelegateEvent;
export declare type ChangedSheetsData = {
newSheets: SheetInfo[];
removedSheetUris: string[];
allImportedSheetUris: string[];
};
export declare type ChangedSheetsEvent = {
uri: string;
data: ChangedSheetsData;
} & BaseEngineDelegateEvent;
export declare type BaseEngineErrorEvent = {
uri: string;
errorKind: TErrorType;
} & BaseEngineDelegateEvent;
export declare type GraphErrorEvent = {
info: GraphErrorInfo;
message: string;
} & BaseEngineErrorEvent;
export declare type RuntimeErrorEvent = {
uri: string;
message: string;
range: StringRange;
} & BaseEngineErrorEvent;
export declare type LoadedEvent = {
uri: string;
data: LoadedData;
} & BaseEngineDelegateEvent;
export declare type EngineErrorEvent = GraphErrorEvent | RuntimeErrorEvent;
export declare type EngineDelegateEvent = EvaluatedEvent | EngineErrorEvent | ChangedSheetsEvent | DeletedEvent | NodeParsedEvent | LoadedEvent | DiffedEvent;
export {};