import { TexNode, TypstNode, TypstToken } from "./types";
export declare class TypstWriterError extends Error {
    node: TexNode | TypstNode | TypstToken;
    constructor(message: string, node: TexNode | TypstNode | TypstToken);
}
export interface TypstWriterOptions {
    nonStrict: boolean;
    preferShorthands: boolean;
    keepSpaces: boolean;
    inftyToOo: boolean;
}
export declare class TypstWriter {
    private nonStrict;
    private preferShorthands;
    private keepSpaces;
    private inftyToOo;
    protected buffer: string;
    protected queue: TypstToken[];
    private insideFunctionDepth;
    constructor(opt: TypstWriterOptions);
    private writeBuffer;
    serialize(node: TypstNode): void;
    private appendWithBracketsIfNeeded;
    protected flushQueue(): void;
    finalize(): string;
}
