import * as ast from 'ts-morph'; import * as E from 'fp-ts/lib/Either'; import * as NEA from 'fp-ts/lib/NonEmptyArray'; import * as O from 'fp-ts/lib/Option'; import * as RE from 'fp-ts/lib/ReaderEither'; import * as D from './domain'; import * as config from './config'; /** * @category model * @since 0.5.0 */ export interface Env { config: config.Config; path: Array; sourceFile: ast.SourceFile; } /** * @category model * @since 0.2.0 */ export interface File { path: string; content: string; } /** * @category model * @since 0.2.0 */ export interface Parser extends RE.ReaderEither { } interface Comment { readonly description: O.Option; readonly tags: Record>>; } /** * @internal */ export declare const parseComment: (text: string) => Comment; interface CommentInfo { description: O.Option; since: O.Option; deprecated: boolean; examples: Array; category: O.Option; } /** * @internal */ export declare function getCommentInfo(name: string, text: string): Parser; /** * @category parser * @since 0.2.0 */ export declare const parseInterfaces: Parser>; /** * @category parser * @since 0.2.0 */ export declare const parseFunctions: Parser>; /** * @category parser * @since 0.2.0 */ export declare const parseTypeAliases: Parser>; /** * @internal */ export declare function stripImportTypes(s: string): string; /** * @category parser * @since 0.2.0 */ export declare const parseConstants: Parser>; /** * @category parser * @since 0.2.0 */ export declare const parseExports: Parser>; /** * @category parser * @since 0.2.0 */ export declare const parseClasses: Parser>; interface ModuleInfo { name: string; documentable: O.Option; } /** * @internal */ export declare const parseModuleDocumentation: Parser; /** * @category parser * @since 0.5.0 */ export declare const parseModule: Parser; /** * @since 0.5.0 */ export declare function parseFiles(config: config.Config, files: Array): E.Either>; export {};