import { IQuestion, QuestionMatrixModel, MatrixRowModel, ItemValue } from 'survey-core';
import { SurveyPDF } from '../survey';
import { DocController, IPoint } from '../doc_controller';
import { FlatQuestion } from './flat_question';
import { FlatRadiogroup } from './flat_radiogroup';
import { IPdfBrick } from '../pdf_render/pdf_brick';
import { CompositeBrick } from '../pdf_render/pdf_composite';
export declare class FlatMatrix extends FlatQuestion {
    protected survey: SurveyPDF;
    protected controller: DocController;
    static readonly GAP_BETWEEN_ROWS: number;
    protected question: QuestionMatrixModel;
    constructor(survey: SurveyPDF, question: IQuestion, controller: DocController);
    protected generateFlatsHeader(point: IPoint): Promise<IPdfBrick[]>;
    protected generateFlatsRows(point: IPoint, isVertical: boolean): Promise<IPdfBrick[]>;
    private rowTitleWidth;
    private columnWidth;
    private calculateColumnsWidthes;
    generateFlatsContent(point: IPoint): Promise<IPdfBrick[]>;
}
export declare class FlatMatrixRow extends FlatRadiogroup {
    protected survey: SurveyPDF;
    protected controller: DocController;
    private row;
    private rowIndex;
    private key;
    protected isFirst: boolean;
    protected isVertical: boolean;
    private rowTitleWidth;
    private columnWidth;
    protected questionMatrix: QuestionMatrixModel;
    constructor(survey: SurveyPDF, question: IQuestion, controller: DocController, row: MatrixRowModel, rowIndex: number, key: string, isFirst: boolean, isVertical: boolean, rowTitleWidth: number, columnWidth: number);
    generateFlatsContent(point: IPoint): Promise<IPdfBrick[]>;
    protected generateTextComposite(point: IPoint, column: ItemValue, index: number): Promise<IPdfBrick>;
    protected generateItemCompoiste(point: IPoint, column: ItemValue, index: number): Promise<IPdfBrick>;
    protected generateFlatsHorizontallyCells(point: IPoint): Promise<(IPdfBrick | CompositeBrick)[]>;
    protected generateFlatsVerticallyCells(point: IPoint): Promise<IPdfBrick[]>;
}
