import { IPage, IPanel, IQuestion, Question } from 'survey-core'; import { SurveyPDF } from '../survey'; import { DocController } from '../doc_controller'; import { IFlatQuestion } from './flat_question'; import { IPanelStyle, IQuestionStyle } from '../style/types'; import { IFlatPanel } from './flat_panel'; import { IFlatPage } from './flat_page'; import { IFlatSurvey } from './flat_survey'; export type FlatConstructor = new (survey: SurveyPDF, question: IQuestion, controller: DocController, style: IQuestionStyle) => IFlatQuestion; export type FlatPanelConstructor = new (survey: SurveyPDF, panel: IPanel, controller: DocController, style: IPanelStyle) => IFlatPanel; export type FlatPageConstructor = new (survey: SurveyPDF, panel: IPage, controller: DocController, style: IPanelStyle) => IFlatPage; export type FlatSurveyConstructor = new (survey: SurveyPDF, controller: DocController, style: IPanelStyle) => IFlatSurvey; export declare class FlatRepository { private questions; private panel; private page; private survey; private static instance; static getInstance(): FlatRepository; register(modelType: string, rendererConstructor: FlatConstructor): void; registerPanel(rendererConstructor: FlatPanelConstructor): void; registerPage(rendererConstructor: FlatPageConstructor): void; registerSurvey(rendererConstructor: FlatSurveyConstructor): void; isTypeRegistered(type: string): boolean; getRenderer(type: string): FlatConstructor; create(survey: SurveyPDF, question: Question, docController: DocController, style: IQuestionStyle, type?: string): IFlatQuestion; createPanel(survey: SurveyPDF, panel: IPanel, docController: DocController, style: IPanelStyle): IFlatPanel; createPage(survey: SurveyPDF, page: IPage, docController: DocController, style: IPanelStyle): IFlatPage; createSurvey(survey: SurveyPDF, docController: DocController, style: IPanelStyle): IFlatSurvey; static registerPanel(rendererConstructor: FlatPanelConstructor): void; static registerPage(rendererConstructor: FlatPageConstructor): void; static registerSurvey(rendererConstructor: FlatSurveyConstructor): void; static register(type: string, rendererConstructor: FlatConstructor): void; static getRenderer(type: string): FlatConstructor; }