import { ItemValue, QuestionSelectBase } from 'survey-core';
import { IPoint } from '../doc_controller';
import { FlatQuestion } from './flat_question';
import { IPdfBrick } from '../pdf_render/pdf_brick';
import { ChoiceItem } from 'survey-core';
import { ISelectBaseStyle, ISelectionInputStyle, ITextStyle } from '../style/types';
export declare abstract class FlatSelectBase<T extends QuestionSelectBase = QuestionSelectBase, S extends ISelectBaseStyle = ISelectBaseStyle> extends FlatQuestion<T, S> {
    abstract generateFlatItem(point: IPoint, item: ItemValue, index: number, style: ISelectionInputStyle): IPdfBrick;
    protected generateItemComment(point: IPoint, item: ItemValue): Promise<IPdfBrick>;
    getItemStyle(item: ItemValue): {
        choiceText: ITextStyle;
        input: ISelectionInputStyle;
    };
    protected generateFlatComposite(point: IPoint, item: ItemValue | ChoiceItem, index: number): Promise<IPdfBrick>;
    protected getVisibleChoices(): Array<ItemValue>;
    generateFlatsContent(point: IPoint): Promise<IPdfBrick[]>;
    protected generateRows(point: IPoint, rows: Array<Array<ItemValue>>): Promise<IPdfBrick[]>;
    protected generateVerticallyItems: (point: IPoint, itemValues: ItemValue[], customGap?: number) => Promise<IPdfBrick[]>;
    protected generateColumns(point: IPoint): Promise<IPdfBrick[]>;
    protected generateHorisontallyItems(point: IPoint, colCount: number): Promise<IPdfBrick[]>;
}
