import { Either } from "monet"; export declare class TcatError extends Error { } export declare class UnexpectedStateError extends TcatError { } export declare class UnsupportedTemplateFileError extends TcatError { } export declare class FileReadError extends TcatError { } export declare class FileRequireError extends TcatError { } export declare class FileWriteError extends TcatError { } export declare class DirectiveDefinitionError extends TcatError { } export declare class TemplateParserError extends TcatError { } export declare class AttributeParserError extends TcatError { } export declare class ElementDirectiveParserError extends TcatError { } export declare class JsonValidationError extends TcatError { } export declare class HtmlValidationError extends TcatError { } export declare class NgExpressionParserError extends AttributeParserError { } export declare function assertNever(value: never): never; export declare function flatten(arr: T[][]): T[]; export declare function logObject(obj: any): void; export declare function objectToString(obj: any): string; export declare function readFile(fileName: FileName): Either; export declare function requireFile(fileName: FileName): Either; export declare function writeFile(fileName: FileName, contents: string): Either; export declare function last(arr: T[]): T | undefined; export declare function unwrapEither(either: Either): V | never; export declare const enum AsFileName { } export declare type FileName = string & AsFileName; export declare function asFileName(value: string): FileName; export declare const enum AsDirectoryName { } export declare type DirectoryName = string & AsDirectoryName; export declare function asDirectoryName(value: string): DirectoryName; export declare const enum AsHtmlFileName { } export declare type HtmlFileName = FileName & AsHtmlFileName; export declare function asHtmlFileName(value: string): HtmlFileName; export declare const enum AsPugFileName { } export declare type PugFileName = FileName & AsPugFileName; export declare function asPugFileName(value: string): PugFileName; export declare const enum AsPugContents { } export declare type PugContents = string & AsPugContents; export declare function asPugContents(value: string): PugContents; export declare const enum AsHtmlContents { } export declare type HtmlContents = string & AsHtmlContents; export declare function asHtmlContents(value: string): HtmlContents; export declare const enum AsTypeScriptContents { } export declare type TypeScriptContents = string & AsTypeScriptContents; export declare function asTypeScriptContents(value: string): TypeScriptContents;