@mistlog/typetype
Version:
A programming language designed for typescript type generation
41 lines (40 loc) • 1.51 kB
TypeScript
import { IIdentifier } from "../basic";
import { ITypeExpression, ITypeArrowFunctionExpression } from "../expression";
export interface IImportDeclaration {
kind: "ImportDeclaration";
source: string;
specifiers: IImportSpecifier[];
}
export declare function ImportDeclaration(): JSX.Element;
export interface IImportSpecifier {
kind: "ImportSpecifier";
imported: IIdentifier;
}
export declare function ImportSpecifier(): JSX.Element;
export interface ITypeFunctionDeclaration {
kind: "TypeFunctionDeclaration";
declarator: ITypeFunctionDeclarator;
export: boolean;
}
export declare type IDeclarator = ITypeFunctionDeclarator | ITypeVariableDeclarator;
export declare function TypeFunctionDeclaration(): JSX.Element;
export interface ITypeFunctionDeclarator {
name: IIdentifier;
initializer: IFunctionInitializer;
}
declare type IFunctionInitializer = ITypeArrowFunctionExpression;
export declare function TypeFunctionDeclarator(): JSX.Element;
export interface ITypeVariableDeclaration {
kind: "TypeVariableDeclaration";
declarator: ITypeVariableDeclarator;
export: boolean;
}
export declare function TypeVariableDeclaration(): JSX.Element;
export interface ITypeVariableDeclarator {
name: IIdentifier;
initializer: IInitializer;
}
export declare function TypeVariableDeclarator(): JSX.Element;
export declare type IInitializer = ITypeExpression;
export declare function Initializer(): JSX.Element;
export {};