/*! Copyright © 2024 Open Text Corporation, All Rights Reserved. The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ import { SchemaData } from '../models/localization-types'; import { OcpdStringLocalizationHelper } from './ocpd-string-localization'; import { Config } from '../models/control-config'; export declare class OcpdBaseSchemaService { private static _instance; _ocpdStringLocalizationHelper: OcpdStringLocalizationHelper; _localeDataSchemaData: SchemaData; constructor(); loadLocaleData(): void; getControlSchema(): { $id: string; $schema: string; title: string; type: string; required: string[]; properties: { defaultLocale: { type: string; pattern: string; }; design: { type: string; $ref: string; }; localizations: { type: string; patternProperties: { '^[a-z]{2,4}(-[A-Za-z]{2,4})?(-[A-Z]{2})?$': { $ref: string; }; }; additionalProperties: boolean; }; }; additionalProperties: boolean; definitions: { localization: { $id: string; title: string; type: string; patternProperties: { '^[a-z][-a-z0-9_]*$': { $ref: string; }; }; additionalProperties: boolean; }; localizationObject: { $id: string; title: string; type: string; properties: { displayName: { type: string; }; placeholder: { type: string; }; tooltip: { type: string; }; }; patternProperties: { '^(label|title)$': { type: string; properties: { text: { type: string; }; }; additionalProperties: boolean; }; }; additionalProperties: boolean; }; designerControls: { $id: string; title: string; type: string; properties: { designer: { $ref: string; }; id: { pattern: string; type: string; }; runtime: { $ref: string; }; }; required: string[]; additionalProperties: boolean; }; }; }; getDesignerControl(): { $id: string; title: string; type: string; properties: { designer: { $ref: string; }; id: { pattern: string; type: string; }; runtime: { $ref: string; }; }; required: string[]; additionalProperties: boolean; }; getRuntimeSchema(): { $id: string; title: string; type: string; otReferences: { label: string; propertyPath: string; target: { schemaId: string; }; cardinality: string; preventCircularity: string; }[]; required: string[]; properties: { allowMultiExpand: { type: string; }; autoCompleteToken: { type: string; }; autoHeight: { type: string; default: boolean; }; backgroundColor: { type: string; default: string; otEnum: string[]; }; backgroundImage: { pattern: string; type: string; }; border: { anyOf: ({ pattern: string; type: string; $ref?: undefined; } | { type: string; pattern?: undefined; $ref?: undefined; } | { $ref: string; pattern?: undefined; type?: undefined; })[]; }; controls: { type: string; items: { type: string; }; }; dataType: { type: string; otMinLength: number; pattern: string; }; disabled: { type: string; }; displayName: { type: string; }; flexLayout: { $ref: string; }; flexPosition: { type: string; }; grid: { $ref: string; }; gridChild: { $ref: string; }; height: { $ref: string; }; imageData: { type: string; }; input: { $ref: string; }; isHidden: { type: string; }; label: { $ref: string; }; layoutTextStyle: { type: string; default: string; otMinLength: number; otOptions: { value: string; text: string; }[]; }; name: { type: string; }; maxAllowed: { type: string; }; maxLength: { type: string; }; maxSnapRows: { type: string; }; maxValue: { type: string; }; minValue: { type: string; }; noBorder: { type: string; default: boolean; }; noMargin: { type: string; default: boolean; }; options: { type: string; }; panelIndex: { type: string; }; parentId: { pattern: string; type: string[]; }; placeholder: { type: string; }; propertyPath: { type: string; pattern: string; }; readOnly: { type: string; }; rearrangeControlsForSmallScreens: { type: string; }; repeating: { type: string; }; required: { type: string; }; rtf: { title: string; $ref: string; }; section: { $ref: string; }; schemaId: { pattern: string; type: string; }; showHorizontal: { type: string; default: boolean; }; sizeToCell: { type: string; }; sort: { type: string; otEnum: string[]; }; table: { $ref: string; }; tabs: { type: string; otMinimum: number; otMaximum: number; default: number; }; themes: { type: string; }; title: { $ref: string; }; tooltip: { type: string; }; type: { otMinLength: number; type: string; pattern: string; }; urlControl: { $ref: string; }; useAutoComplete: { type: string; }; useDefaultPlaceholder: { type: string; }; useTypeAhead: { type: string; }; user: { $ref: string; }; width: { $ref: string; }; }; additionalProperties: boolean; }; getDesignerRTF(): { $id: string; title: string; type: string; required: string[]; properties: { enabledPlugins: { type: string; otOptions: { value: string; text: string; }[]; items: { type: string; }; }; }; additionalProperties: boolean; }; getDesignerSchema(): { $id: string; title: string; type: string; properties: { allowHeightToBeResized: { type: string; }; disableTypeAhead: { type: string; }; isContainer: { type: string; }; grid: { $ref: string; }; }; additionalProperties: boolean; }; getRuntimeBorderSchema(): { $id: string; title: string; type: string; required: string[]; properties: { borderRadius: { type: string; pattern: string; }; color: { type: string; default: string; }; onBottom: { type: string; default: boolean; }; onLeft: { type: string; default: boolean; }; onRight: { type: string; default: boolean; }; onTop: { type: string; default: boolean; }; width: { $ref: string; }; style: { type: string; default: string; otMinLength: number; otOptions: { value: string; text: string; }[]; }; }; additionalProperties: boolean; }; getRuntimeFlexLayoutSchema(): { $id: string; title: string; type: string; properties: { alignItems: { type: string; default: string; otEnum: string[]; }; justifyContent: { type: string; default: string; otEnum: string[]; }; showSplitters: { type: string; default: boolean; }; }; additionalProperties: boolean; }; getRuntimeGridSchema(): { $id: string; title: string; type: string; properties: { gap: { type: string; default: number; }; numberOfColumns: { type: string; default: number; otMinimum: number; otMaximum: number; }; padding: { type: string; default: number; }; }; additionalProperties: boolean; }; getRuntimeGridChildSchema(): { $id: string; title: string; type: string; properties: { gridColumnEnd: { type: string; }; gridColumnStart: { type: string; }; gridRowEnd: { type: string; }; gridRowStart: { type: string; }; }; additionalProperties: boolean; }; getRuntimeDimensionSchema(): { $id: string; title: string; type: string; properties: { unit: { default: string; type: string; otEnum: string[]; }; value: { default: number; type: string[]; otEnum: string[]; }; width: { type: string; }; }; additionalProperties: boolean; }; getRuntimeFontSchema(): { $id: string; title: string; type: string; required: string[]; properties: { alignment: { default: string; type: string; otMinLength: number; otOptions: { value: string; text: string; }[]; }; color: { type: string; default: string; }; decoration: { type: string; otEnum: string[]; }; family: { type: string; default: string; otEnum: string[]; }; size: { type: string; default: string; otEnum: string[]; }; style: { type: string; otEnum: string[]; }; weight: { type: string; otEnum: string[]; }; }; additionalProperties: boolean; }; getRuntimeLabelSchema(): { $id: string; title: string; type: string; required: string[]; properties: { alignment: { type: string; default: string; otMinLength: number; otOptions: { value: string; text: string; }[]; }; font: { $ref: string; }; position: { type: string; default: string; otMinLength: number; otOptions: { value: string; text: string; }[]; }; show: { type: string; }; text: { type: string; }; width: { type: string; }; }; additionalProperties: boolean; }; getRuntimeSectionSchema(): { $id: string; title: string; type: string; properties: { isCollapsed: { type: string; default: boolean; }; rowsToDisplay: { type: string; default: number; otMinimum: number; otMaximum: number; }; }; additionalProperties: boolean; }; getRuntimeUrlControlSchema(): { $id: string; title: string; type: string; properties: { freeTextUrl: { type: string; pattern: string; }; pickerUrl: { type: string; pattern: string; }; useFreeText: { type: string; default: boolean; }; referrerPolicy: { type: string; }; sandboxOptions: { type: string; items: { type: string; }; }; link: { $ref: string; }; }; additionalProperties: boolean; }; getRuntimeLinkColorSchema(): { $id: string; title: string; type: string; properties: { visited: { type: string; otEnum: string[]; }; unvisited: { type: string; otEnum: string[]; }; hover: { type: string; otEnum: string[]; }; active: { type: string; otEnum: string[]; }; }; additionalProperties: boolean; }; getRuntimeTableSchema(): { $id: string; title: string; type: string; properties: { allowAdd: { type: string; default: boolean; }; allowFacetedFiltering: { type: string; default: boolean; }; allowMultipleSelection: { type: string; default: boolean; }; allowSearch: { type: string; default: boolean; }; columns: { type: string; items: { $ref: string; }; }; header: { $ref: string; }; noRecordsFoundMessage: { type: string; }; rows: { type: string; }; showCheckColumn: { type: string; default: boolean; }; showMobile: { type: string; default: boolean; }; showPagination: { type: string; default: boolean; }; variableHeightTable: { type: string; default: boolean; }; }; additionalProperties: boolean; }; getRuntimeTitleSchema(): { $id: string; title: string; type: string; properties: { base64Image: { type: string; }; show: { type: string; default: boolean; }; text: { type: string; }; }; additionalProperties: boolean; }; getRuntimeUserSchema(): { $id: string; title: string; type: string; properties: { showGroups: { type: string; }; showUsers: { type: string; }; }; additionalProperties: boolean; }; getRuntimeTableHeaderSchema(): { $id: string; title: string; type: string; properties: { show: { type: string; default: boolean; }; }; additionalProperties: boolean; }; getDesignerGridSchema(): { $id: string; type: string; properties: { numberOfRows: { type: string; otMinimum: number; }; numberOfColumns: { type: string; otMinimum: number; otMaximum: number; }; inheritParentColumnCount: { type: string; }; }; additionalProperties: boolean; }; getRuntimeTableColumnsSchema(): { $id: string; title: string; type: string; properties: { show: { type: string; default: boolean; }; controlData: { type: string; properties: { label: { type: string; properties: { show: { type: string; }; text: { type: string; }; alignment: { type: string; otOptions: { value: string; text: string; }[]; }; }; required: string[]; additionalProperties: boolean; }; propertyPath: { type: string; }; isInGrid: { type: string; }; type: { otMinLength: number; type: string; pattern: string; }; dataType: { type: string; pattern: string; }; show: { type: string; }; required: { type: string; }; id: { pattern: string; type: string; }; }; required: string[]; additionalProperties: boolean; }; width: { type: string; }; }; required: string[]; additionalProperties: boolean; }; getLocalizationObjectSchema(): { $id: string; title: string; type: string; properties: { displayName: { type: string; }; placeholder: { type: string; }; tooltip: { type: string; }; }; patternProperties: { '^(label|title)$': { type: string; properties: { text: { type: string; }; }; additionalProperties: boolean; }; }; additionalProperties: boolean; }; getLocalizationSchema(): { $id: string; title: string; type: string; patternProperties: { '^[a-z][-a-z0-9_]*$': { $ref: string; }; }; additionalProperties: boolean; }; getPropertiesConfigSchema(config: Config): { $id: string; title: string; type: string; properties: { designer: { $ref: string; }; id: { pattern: string; type: string; }; runtime: { $ref: string; }; }; required: string[]; additionalProperties: boolean; }; }