import { Output } from './output'; import { Value } from './value'; export interface CommentValueOptions { leading?: boolean; newline?: boolean; } export declare class CommentValue extends Value { #private; constructor(comment: Comment, value: Value, options?: CommentValueOptions); render(output: Output): void; } export interface CommentOptions { stylized?: boolean; } export declare abstract class Comment { comment: string; options: CommentOptions; constructor(comment: string, options?: CommentOptions); abstract render(output: Output): void; } export declare class BlockComment extends Comment { render(output: Output): void; } export declare function blockComment(comment: string, options?: CommentOptions): Comment; export declare class LineComment extends Comment { render(output: Output): void; } export declare function lineComment(comment: string, options?: CommentOptions): Comment; export declare class DocComment extends Comment { render(output: Output): void; } export declare function docComment(comment: string, options?: CommentOptions): Comment;