import { ChunkedText } from '@devexpress/utils/lib/class/chunked-text';
import { NonVisualDrawingObjectInfo } from '../../../model/manipulators/picture-manipulator/non-visual-drawing-object-info';
type SpecialMarksTable = Record<string, string>;
type Action = () => void;
export declare class RtfBuilder {
    static readonly specialMarks: SpecialMarksTable;
    static readonly byteToHexString: string[];
    static readonly specialPCDataMarks: SpecialMarksTable;
    isPreviousWriteCommand: boolean;
    rowLength: number;
    rowLengthBound: number;
    hexMode: boolean;
    rtfContent: ChunkedText;
    unicodeTextBuilder: ChunkedText;
    constructor();
    clear(): void;
    private init;
    writeCommandCore(command: string, writeParam: Function): void;
    writeCommand(command: string, param?: boolean | string): void;
    writeIntegerCommand(command: string, param: number): void;
    createKeyword(propertyName: string): string;
    createOptionalKeyword(propertyName: string): string;
    writeAnsiText(text: string): void;
    writeText(text: string, specialMarks?: SpecialMarksTable): void;
    writeTextDirect(text: string, makeStringUnicodeCompatible?: boolean): void;
    writeTextDirectUnsafe(text: ChunkedText): void;
    writeChar(ch: string): void;
    openGroup(): void;
    closeGroup(): void;
    static isSpecialSymbol(ch: string): boolean;
    textHasNonASCIISymbol(text: string): boolean;
    isASCII(code: number): boolean;
    isANSI(code: number): boolean;
    containsNonAnsiChar(str: string): boolean;
    correctAnsiString(ch: string): string;
    private getUnicodeCompatibleString;
    private getUnicodeCompatibleStringDirect;
    private appendUnicodeCompatibleCharCore;
    writePictureBytes(binString: string): void;
    writeByteArrayAsHex(bytes: Uint8Array, offset?: number, length?: number): void;
    writeShapeColorProperty(propertyName: string, propertyValue: number): void;
    getIntColorValue(color: number): number;
    writeShapeProperty(propertyName: string, propertyValue: string | Action): void;
    writePCDATAShapeProperty(propertyName: string, propertyValue: string): void;
    writePCData(text: string): void;
    writeShapePropertyName(propertyName: string): void;
    writeShapePropertyValue(propertyValue: string | Action): void;
    writeShapePropertyWithOptionalGroup(propertyName: string, propertyValue: string, optionalPropertyName: string, optionalPropertyValue: string): void;
    writeShapeIntegerProperty(propertyName: string, propertyValue: number): void;
    writeShapeBoolProperty(propertyName: string, propertyValue: boolean): void;
    private increaseRowLength;
    getCode(ch: string): number;
    writeDescription(nonVisualDrawingObjectInfo: NonVisualDrawingObjectInfo): void;
}
export declare function CreateSpecialMarksTable(): Record<string, string>;
export declare function CreateSpecialPCDataMarksTable(byteToHexString: any): Record<string, string>;
export declare function AddHexToMarkTable(result: any, ch: string, byteToHexString: any): void;
export declare function CreateByteToHexString(): string[];
export declare function toUTF8Array(str: any): any[];
export {};
