import { IQuestion, Question } from 'survey-core';
import { SurveyPDF } from '../survey';
import { DocController } from '../doc_controller';
import { IFlatQuestion } from './flat_question';
export type FlatConstructor = new (survey: SurveyPDF, question: IQuestion, controller: DocController) => IFlatQuestion;
export declare class FlatRepository {
    private questions;
    private static instance;
    static getInstance(): FlatRepository;
    register(modelType: string, rendererConstructor: FlatConstructor): void;
    isTypeRegistered(type: string): boolean;
    getRenderer(type: string): FlatConstructor;
    create(survey: SurveyPDF, question: Question, docController: DocController, type?: string): IFlatQuestion;
    static register(type: string, rendererConstructor: FlatConstructor): void;
    static getRenderer(type: string): FlatConstructor;
}
