import { PanelModel, SurveyElement } from 'survey-core';
import { IPdfBrick } from '../pdf_render/pdf_brick';
import { DocController, IPoint } from '../doc_controller';
import { SurveyPDF } from '../survey';
import { IPanelStyle } from '../style/types';
export interface IFlatPanel {
    generateFlats(point: IPoint): Promise<IPdfBrick[]>;
}
export declare class FlatPanel<T extends PanelModel = PanelModel, S extends IPanelStyle = IPanelStyle> implements IFlatPanel {
    protected survey: SurveyPDF;
    protected panel: T;
    protected controller: DocController;
    protected style: S;
    constructor(survey: SurveyPDF, panel: T, controller: DocController, style: S);
    generateFlats(point: IPoint): Promise<IPdfBrick[]>;
    protected generateContentFlats(point: IPoint): Promise<IPdfBrick[]>;
    protected generateTitleFlat(point: IPoint): Promise<IPdfBrick>;
    protected createHeaderFlats(point: IPoint): Promise<Array<IPdfBrick>>;
    protected getRows(controller: DocController): Array<Array<{
        element: SurveyElement;
        width: number;
    }>>;
    protected getGapBetweenRows(): number;
    protected generateRowsFlats(point: IPoint): Promise<IPdfBrick[]>;
}
