type PointCtx = { async: boolean; log: LogEntry[]; data: Record; depth: number; sys: (() => { now: () => number; print: (...s: any) => void; }) & { plog?: string[]; }; }; type LogEntry = { note: string; when: number; depth: number; args: any; }; declare abstract class Point implements Point { id: string; name?: string; args?: any; constructor(id: string, name?: string); runner(pctx: PointCtx): Promise; logger(pctx: PointCtx, entry: Partial): void; abstract run(pctx: PointCtx): Promise; } declare class SerialPoint extends Point { points: Point[]; constructor(id: string); add(p: Point): void; run(pctx: PointCtx): Promise; } declare class RootPoint extends SerialPoint { points: Point[]; constructor(id: string); direct(data?: Record, sys?: any): PointCtx; start(data?: Record, sys?: any): Promise; makePointCtx(async: boolean, data?: Record, sys?: any): PointCtx; } declare class ParallelPoint extends Point { points: Point[]; constructor(id: string); add(p: Point): void; run(pctx: PointCtx): Promise; } declare class FuncPoint extends Point { func: (pctx: PointCtx) => any; constructor(id: string, func: (pctx: PointCtx) => any); run(pctx: PointCtx): Promise; } declare class PrintPoint extends Point { path?: string; constructor(id: string, path?: string); run(pctx: PointCtx): Promise; } declare const PointDefShape: { (root?: V | undefined, ctx?: import("shape").Context): (0 extends 1 & V ? true : false) extends true ? { k: string | undefined; n: string | undefined; p: any[]; a: any; m: {}; } : V extends object ? Omit & { k: string | undefined; n: string | undefined; p: any[]; a: any; m: {}; } : { k: string | undefined; n: string | undefined; p: any[]; a: any; m: {}; }; valid: (root?: V | undefined, ctx?: import("shape").Context) => root is V & { k: string | undefined; n: string | undefined; p: any[]; a: any; m: {}; }; match: (root?: any, ctx?: import("shape").Context) => boolean; error: (root?: any, ctx?: import("shape").Context) => import("shape").ErrDesc[]; spec: () => any; node: () => import("shape").Node<{ readonly k: import("shape").Node; readonly n: import("shape").Node; readonly p: any[]; readonly a: import("shape").Node; readonly m: {}; }>; stringify: (...rest: any[]) => string; jsonify: () => any; jsonSchema: () => any; json: () => any; toString: (this: any) => string; shape: { shape$: symbol; v$: string; }; }; type PointDef = Partial>; type MakePoint = (id: () => string, pdef: PointDef) => Point; declare function buildPoints(pdef: PointDef, pm: Record, id?: () => string): Point; declare function makeFuncDef(fd: (pdef: PointDef) => (pctx: PointCtx) => any): (id: () => string, pdef: PointDef) => FuncPoint; export type { PointCtx, MakePoint, PointDef, }; export { Point, RootPoint, SerialPoint, ParallelPoint, FuncPoint, PrintPoint, buildPoints, makeFuncDef, };