import * as path from 'typesafe-path/posix'; import type ts from 'typescript/lib/tsserverlibrary'; import { BlockTagMeta, CommentMeta, ExternalRefPropertyMetaSchema, PropertyMetaSchema, RefPropertyMetaSchema, UnknownSymbolResolver } from './types'; export declare function createNodeVisitor(ts: typeof import('typescript/lib/tsserverlibrary')): (node: ts.Node, predicate: (node: ts.Node) => boolean) => T | undefined; /** * Will return the first declaration node among all declarations of the symbol */ export declare function getNodeOfSymbol(symbol?: ts.Symbol): ts.Declaration | undefined; export declare function getNodeOfType(type: ts.Type): ts.Declaration | undefined; export declare function getComment(ts: typeof import('typescript/lib/tsserverlibrary'), typeChecker: ts.TypeChecker, prop: ts.Symbol | ts.Signature): CommentMeta; type GetTagResult = T extends 'block' ? BlockTagMeta : string; export declare function getTag(comment: CommentMeta, tag: string, kind?: T): GetTagResult | undefined; export declare function reducer(acc: any, cur: any): any; export declare function hasQuestionToken(ts: typeof import('typescript/lib/tsserverlibrary'), prop: ts.Symbol): boolean; export declare function getTypeOfSignature(typeChecker: ts.TypeChecker, call: ts.Signature): ts.Type; export declare function isPromiseLike(type: ts.Type): boolean; export declare function getSignatureArgsMeta(typeChecker: ts.TypeChecker, subtype: ts.Type, argTypeTransform?: (node: ts.NamedTupleMember | ts.ParameterDeclaration) => PropertyMetaSchema): { key: string; type: string; required: boolean; schema?: PropertyMetaSchema | undefined; }[]; export declare function signatureTypeToString(typeChecker: ts.TypeChecker, args: ts.TupleType, returnType: ts.Type): string; export declare function typeParameterToString(typeChecker: ts.TypeChecker, type: ts.TypeParameter, extendType?: ts.Type, defaultType?: ts.Type): string; export declare const BasicTypes: Record; export declare function createRef(type: string, fileName: string): string; export declare function getPosixPath(anyPath: string): path.PosixPath; export declare function isExternalRefSchema(schema: RefPropertyMetaSchema): schema is ExternalRefPropertyMetaSchema; export declare function createCachedResolver(resolver: T): (...args: Parameters) => Partial; export {};