export type LineRange = {
    start: number;
    end: number;
    count: number;
};
type LineBlock = {
    start: number;
    end: number;
    count: number;
    next: LineBlock | null;
    prev: LineBlock | null;
};
export declare class Line {
    readonly start: number;
    readonly end: number;
    private _blocks;
    readonly length: number;
    constructor(start: number, end: number);
    private _prepend;
    private _append;
    private _overwrite;
    private _split;
    private _delete;
    count(start: number, end: number | null, count: number, nextBlock?: LineBlock | null): void;
    getRanges(partial: boolean): LineRange[];
}
export {};
