/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { BaseSegment, ISegment } from "./mergeTreeNodes.js";
import { IJSONSegment } from "./ops.js";
import type { PropertySet } from "./properties.js";
export declare const TextSegmentGranularity = 256;
/**
 * @legacy
 * @alpha
 */
export interface IJSONTextSegment extends IJSONSegment {
    text: string;
}
/**
 * @legacy
 * @alpha
 */
export declare class TextSegment extends BaseSegment {
    text: string;
    static readonly type = "TextSegment";
    readonly type = "TextSegment";
    static is(segment: ISegment): segment is TextSegment;
    static make(text: string, props?: PropertySet): TextSegment;
    static fromJSONObject(spec: string | IJSONSegment): TextSegment | undefined;
    constructor(text: string, props?: PropertySet);
    toJSONObject(): IJSONTextSegment | string;
    clone(start?: number, end?: number): TextSegment;
    canAppend(segment: ISegment): boolean;
    toString(): string;
    append(segment: ISegment): void;
    protected createSplitSegmentAt(pos: number): TextSegment | undefined;
}
/**
 * @internal
 */
export interface IMergeTreeTextHelper {
    getText(refSeq: number, clientId: number, placeholder: string, start?: number, end?: number): string;
}
//# sourceMappingURL=textSegment.d.ts.map