import { NodeBuilders } from './types'; import { AbstractionLoader, AbstractionsLoadingErrors, AbstractionsLoadingWarnings } from './instantiate-abstractions'; import { DspGraph } from '@webpd/compiler'; import { PdJson } from '@webpd/pd-parser'; type PatchPath = Array; export type Compilation = { readonly pd: PdJson.Pd; readonly graph: DspGraph.Graph; readonly nodeBuilders: NodeBuilders; }; export interface CompilationSuccess { readonly status: 0; readonly graph: DspGraph.Graph; readonly arrays: DspGraph.Arrays; /** PdJson.Pd with all abstractions resolved. */ readonly pd: PdJson.Pd; readonly abstractionsLoadingWarnings?: AbstractionsLoadingWarnings; } export interface CompilationFailure { readonly status: 1; readonly abstractionsLoadingErrors: AbstractionsLoadingErrors; readonly abstractionsLoadingWarnings?: AbstractionsLoadingWarnings; } type CompilationResult = CompilationSuccess | CompilationFailure; export declare const buildGraphNodeId: (patchId: PdJson.GlobalId, nodeLocalId: PdJson.LocalId) => DspGraph.NodeId; export declare const buildGraphPortletId: (pdPortletId: PdJson.PortletId) => string; declare const _default: (pd: PdJson.Pd, nodeBuilders: NodeBuilders, abstractionLoader?: AbstractionLoader) => Promise; export default _default; export declare const _buildNodes: (compilation: Compilation, patchPath: PatchPath) => void; export declare const _buildConnections: (compilation: Compilation, rootPatchPath: PatchPath) => void; export declare const _traversePatches: (compilation: Compilation, patchPath: PatchPath, func: (compilation: Compilation, patchPath: PatchPath) => void) => void; export declare const _FOR_TESTING: { _buildImplicitGraphNodeId: (sink: DspGraph.ConnectionEndpoint, nodeType: DspGraph.NodeType) => DspGraph.NodeId; };