/********************************************************************* * © Copyright IBM Corp. 2025 *********************************************************************/ export type SchemaComponentType = string; export type SchemaComponentId = string; export declare const ROOT_LOCATION: "__root"; export declare const ORIGINAL_LAYOUT: "original"; export declare const Locations: { readonly PANEL_RIGHT: "panel.right"; readonly TABS: "tabs"; readonly ROOT: "__root"; }; export type Location = typeof Locations[keyof typeof Locations]; export interface ISchema { root: ISchemaComponentConfig; integrations?: IBooleanMap; backup?: IProcessSchemaMap; debug?: boolean; } export interface ISchemaComponentConfig { componentId?: SchemaComponentId; type?: SchemaComponentType; location?: Location | string; components?: ISchemaComponentConfig[]; from?: string[]; canonicalId?: string; [key: string]: any; } export interface ISchemaComponentConfigMeta { type: SchemaComponentType; } export interface ISchemaNodeWithMeta { componentConfig: ISchemaComponentConfig; meta?: ISchemaComponentConfigMeta; } export type ISchemaNodeWithPath = ISchemaNodeWithMeta & { path: ISchemaComponentConfig[]; }; export type SchemaChildrenConfigGenerator = (config: ISchemaComponentConfig) => IterableIterator; export type SchemaChildrenRemover = (config: ISchemaComponentConfig) => ISchemaComponentConfig; export type SchemaChildrenInserter = (parent: ISchemaComponentConfig, child: ISchemaComponentConfig, updateSource: string) => ISchemaComponentConfig; type Dictionary = { [key in TKey]: TValue; }; export interface IBooleanMap extends Dictionary { } export interface IExternalIntegration { name: string; components: ISchemaComponentConfig[]; } export interface IExternalIntegrationMap extends Dictionary { } export interface IProcessSchemaMap extends Dictionary { } export interface IPlaceholderMap extends Dictionary { } export interface IIncrementalUpdateLeaf { jsonConfig: ISchemaComponentConfig; } export interface IIncremenalUpdateNode { children: IncrementalUpdate[]; jsonConfig: ISchemaComponentConfig & { children?: never; }; } export type IncrementalUpdate = (IIncremenalUpdateNode | IIncrementalUpdateLeaf) & { displayText?: string; targetLocation?: Location | string | null; }; export {};