import { TokenPosition } from "./token"; export type TComment = LineComment | MultilineComment; export type TDirective = TypeDirective; export declare enum CommentKind { Line = "Line", Multiline = "Multiline" } export declare enum DirectiveKind { Type = "Type" } export interface IComment { readonly kind: CommentKind; readonly data: string; readonly containsNewline: boolean; readonly positionStart: TokenPosition; readonly positionEnd: TokenPosition; } export interface LineComment extends IComment { readonly kind: CommentKind.Line; readonly directive: TDirective | undefined; } export interface MultilineComment extends IComment { readonly kind: CommentKind.Multiline; } export interface IDirective { readonly kind: Kind; readonly value: string; readonly comment: LineComment; } export type TypeDirective = IDirective;