import { Token } from './Token';
export declare class TokenMatrix {
    private _matrix;
    private _lineStartPadding;
    constructor(lines: Token[][]);
    get matrix(): Token[][];
    setLineStartPadding(length: number): void;
    getRow(idx: number): Token[];
    getColumn(idx: number): Token[];
    /**
     * return the sum of all the tokens' length of a row
     *
     * return value -1 mean that this is weightless
     *
     * @param rowIdx the row number, should be in the matrix range
     */
    getRowWeight(rowIdx: number): number;
    getShortestRow(): number;
    transformRow(rowIdx: number, fn: (v: string, i: number, arr: Token[]) => string): void;
    transformColumn(colIdx: number, fn: (v: string, i: number, arr: Token[]) => string): void;
    getLongestTokenOfColumn(colIdx: number): Token;
    isValidRowIdx(idx: number): void;
    toString(): string;
}
