import PhasesState from "../PhasesState";
import { ColumnProperties } from "../../common/common.types";
import { LeaderboardData } from "../../leaderboard/Leaderboard";
declare class ParseData extends PhasesState {
    private _rootContainer;
    private readonly _logger;
    private _sorter;
    private _lbData;
    constructor(_rootContainer: HTMLElement, data: LeaderboardData[]);
    execute(): ColumnProperties[];
    private _getParsedData;
    private _parseData;
    private _parseClientColumns;
    private _sort;
    private _appendNewCellToExistingHeader;
    /**
     * Method for filling AFTER whole parsing process. It's the last step of
     * preparing data before rendering.
     * @private
     * @param columnsToFillWithCells
     */
    private _fillMissingCellsWithIndex;
    /**
     * Inserting cells for columns which weren't in iteration.
     * @param missingCell {MissingCell}
     * @private
     */
    private _insertColumnsWithMissingCells;
    /**
     * Appending new header with its single cell value to data which will be used
     * for rendering.
     * @param headersAccumulator
     * @param header
     * @param singleCellValuesForHeader
     * @param nOfArrays
     * @private
     */
    private _appendNewHeaderAndCellToAcc;
    /**
     * Method is used for filling columns with empty cells, without any content.
     * Use case: first initialization of columns based on client's header.
     * @param column
     * @param nOfArrays
     * @private
     */
    private _addEmptyCells;
    private _insertContentIntoCells;
}
export default ParseData;
