import { VisitorExtension } from "./invocation"; import { SuperNode } from "./transformer"; import { Class } from './types'; interface ResultMessages { path: string; messages: string[]; } interface Result { value: T; issues?: ResultMessages[]; } interface ParentInfo { value: any; type: Class; decorators: any[]; } interface VisitorOption { path: string; extension: VisitorExtension[]; decorators: any[]; guessArrayElement: boolean; parent?: ParentInfo; } declare namespace Result { function create(value: any): Result; function error(value: any, path: string, message: string | string[]): Result; } declare function pipeline(value: any, ast: SuperNode, opt: VisitorOption): Result; export { pipeline, ResultMessages, Result, ParentInfo };