import { JsonSchemaTable } from "./components/table/table"; import { IPadding, ISettings } from "./components/interfaces"; import { JsonSchemaPanel, IPanelSettings } from "./components/panel/panel"; import { ISelectSettings, JsonSchemaSelect } from "./components/select/select"; import { JsonSchema } from "./json-schema"; import { JsonSchemaCustomDatasetDisplay } from "./components/customdatasetdisplay/customdatasetdisplay"; import { JsonSchemaCustomDaysBetweenDisplay } from "./components/customdaysbetween/customdaysbetween"; import { INumberSettings, JsonSchemaNumber } from "./components/number/number"; declare type SettingsDefinition = ISettings | IPanelSettings | ISelectSettings; declare type JsonSchemaDefinition = JsonSchema | JsonSchemaPanel | JsonSchemaSelect | JsonSchemaCustomDatasetDisplay | JsonSchemaCustomDaysBetweenDisplay; export declare type ParserExtension = (Parser: typeof SchemaParser) => typeof SchemaParser; /** * Parses a Json Schema into a format used by the form builder (ISettings) */ export declare class SchemaParser { static extensions: ParserExtension[]; static classCtor: typeof SchemaParser; static registerExtension(extension: ParserExtension): void; static createInstance(): SchemaParser; config: SettingsDefinition[]; visit(schema: JsonSchema): void; /** * Visits objects/properties without nesting them within other component (panels) * @param schema * @param config */ visitObject(schema: JsonSchema, config: SettingsDefinition[]): void; visitSelectPanels(schema: JsonSchema, config: SettingsDefinition[]): void; visitConditional(schema: JsonSchema, config: SettingsDefinition[]): void; visitSelectSubSchemaCombo(schema: JsonSchema, config: SettingsDefinition[]): void; visitTabs(property: JsonSchema, config: SettingsDefinition[]): void; visitExpansionPanels(property: JsonSchema, config: SettingsDefinition[]): void; visitProperty(property: JsonSchema, config: SettingsDefinition[], parent: JsonSchema, key: string): void; visitBooleanProperty(property: JsonSchema, config: SettingsDefinition[], parent: JsonSchema, key: string): void; visitSwitch(property: JsonSchema, config: SettingsDefinition[], parent: JsonSchema, key: string): void; visitCheckbox(property: JsonSchema, config: SettingsDefinition[], parent: JsonSchema, key: string): void; visitArrayProperty(property: JsonSchemaTable, config: SettingsDefinition[], parent: JsonSchema, key: string): void; visitCheckboxList(property: JsonSchema, config: SettingsDefinition[], parent: JsonSchema, key: string): void; parsePadding(property: JsonSchema): IPadding; buildInputComponent(property: JsonSchema, parent: JsonSchema, key?: string): ISettings; visitStringProperty(property: JsonSchemaDefinition, config: SettingsDefinition[], parent: JsonSchema, key: string): void; visitCustomDatasetDisplay(property: JsonSchemaCustomDatasetDisplay, config: SettingsDefinition[], parent: JsonSchema, key: string): void; visitCustomDaysBetween(property: JsonSchemaCustomDaysBetweenDisplay, config: SettingsDefinition[], parent: JsonSchema, key: string): void; visitCustomCalendarDisplay(property: JsonSchema, config: SettingsDefinition[], parent: JsonSchema, key: string): void; visitRadio(property: JsonSchema, config: SettingsDefinition[], parent: JsonSchema, key: string): void; visitSelect(property: JsonSchemaSelect, config: SettingsDefinition[], parent: JsonSchema, key: string): void; visitTextField(property: JsonSchema | JsonSchemaNumber, config: SettingsDefinition[], parent: JsonSchema, key: string): void; visitNumberField(component: INumberSettings, property: JsonSchemaNumber): void; visitTextarea(property: JsonSchema, config: SettingsDefinition[], parent: JsonSchema, key: string): void; visitDate(property: JsonSchema, config: SettingsDefinition[], parent: JsonSchema, key?: string): void; visitTime(property: JsonSchema, config: SettingsDefinition[], parent: JsonSchema, key?: string): void; visitPanel(property: JsonSchemaPanel, config: SettingsDefinition[], parent: JsonSchema, key?: string): void; } export {};