/** * @since 0.5.0 */ import * as O from 'fp-ts/lib/Option'; import { Ord } from 'fp-ts/lib/Ord'; /** * @category model * @since 0.5.0 */ export declare type Example = string; /** * @category model * @since 0.5.0 */ export interface Documentable { readonly name: string; readonly description: O.Option; readonly since: O.Option; readonly deprecated: boolean; readonly examples: Array; readonly category: O.Option; } /** * @category model * @since 0.5.0 */ export interface Interface extends Documentable { readonly _tag: 'Interface'; readonly signature: string; } /** * @category model * @since 0.5.0 */ export interface Function extends Documentable { readonly _tag: 'Function'; readonly signatures: Array; } /** * @category model * @since 0.5.0 */ export interface Method extends Documentable { readonly signatures: Array; } /** * @category model * @since 0.5.0 */ export interface Property extends Documentable { readonly signature: string; } /** * @category model * @since 0.5.0 */ export interface Class extends Documentable { readonly _tag: 'Class'; readonly signature: string; readonly methods: Array; readonly staticMethods: Array; readonly properties: Array; } /** * @category model * @since 0.5.0 */ export interface TypeAlias extends Documentable { readonly _tag: 'TypeAlias'; readonly signature: string; } /** * @category model * @since 0.5.0 */ export interface Constant extends Documentable { readonly _tag: 'Constant'; readonly signature: string; } /** * @category model * @since 0.5.0 */ export interface Export extends Documentable { readonly _tag: 'Export'; readonly signature: string; } /** * @category model * @since 0.5.0 */ export interface Module { readonly name: string; readonly documentation: O.Option; readonly path: Array; readonly interfaces: Array; readonly typeAliases: Array; readonly functions: Array; readonly classes: Array; readonly constants: Array; readonly exports: Array; } /** * @category constructor * @since 0.5.0 */ export declare const makeExample: (code: string) => Example; /** * @category constructor * @since 0.5.0 */ export declare function makeDocumentable(name: string, description: O.Option, since: O.Option, deprecated: boolean, examples: Array, category: O.Option): Documentable; /** * @category constructor * @since 0.5.0 */ export declare function makeInterface(documentable: Documentable, signature: string): Interface; /** * @category constructor * @since 0.5.0 */ export declare function makeFunction(documentable: Documentable, signatures: Array): Function; /** * @category constructor * @since 0.5.0 */ export declare function makeMethod(documentable: Documentable, signatures: Array): Method; /** * @category constructor * @since 0.5.0 */ export declare function makeProperty(documentable: Documentable, signature: string): Property; /** * @category constructor * @since 0.5.0 */ export declare function makeClass(documentable: Documentable, signature: string, methods: Array, staticMethods: Array, properties: Array): Class; /** * @category constructor * @since 0.5.0 */ export declare function makeTypeAlias(documentable: Documentable, signature: string): TypeAlias; /** * @category constructor * @since 0.5.0 */ export declare function makeConstant(documentable: Documentable, signature: string): Constant; /** * @category constructor * @since 0.5.0 */ export declare function makeExport(documentable: Documentable, signature: string): Export; /** * @category constructor * @since 0.5.0 */ export declare function makeModule(name: string, documentable: O.Option, path: Array, interfaces: Array, typeAliases: Array, functions: Array, classes: Array, constants: Array, exports: Array): Module; /** * @category instance * @since 0.5.0 */ export declare const ordModule: Ord; /** * A module without documentation is considered not deprecated * * @category utils * @since 0.6.0 */ export declare const isModuleDeprecated: (module: Module) => boolean;