import { L10n } from '@syncfusion/ej2-base'; import { ComponentDefinition, PropertyGroup, PropertyValues } from '../../types/component-properties'; import { FormNode, FormSchema } from '@syncfusion/ej2-form-renderer'; import { FormSettingsModel } from '../../utils/form-settings-panel'; /** @private */ export declare type RightPaneMode = 'component' | 'formSettings'; /** @private */ export interface RightPaneOptions { l10n: L10n; mode?: 'Simple' | 'Developer'; formSchema: FormSchema; configData: Record; formSettingsConfig: { groups: PropertyGroup[]; }; onSave: (values: PropertyValues | FormSettingsModel, key?: string) => void; onPropertyChanged?: (args: { field: string; property: string; value: any; name: string; }) => void; onClose: () => void; host?: HTMLElement; parent?: HTMLElement; enableRtl?: boolean; locale?: string; } /** @private */ export declare class RightPane { private host; private props; private l10n; private mode; private formSchema; private configData; private formSettingsConfig; private currentField; private currentFieldId; private paneMode; private propertyValues; private visibility; private ej2Instances; private docListeners; private pendingTimers; private headerEl; private bodyEl; private closeClickHandler; private tab; private tabEntries; private parentNode; private conditionsEditor; private formSettingsPanel; private destroyed; constructor(opts: RightPaneOptions); /** @private */ readonly element: HTMLElement; /** @private */ render(options?: { empty?: boolean; }): void; /** @private */ showEmptyState(): void; /** @private */ openComponentEditor(component: FormNode, fieldId: string): void; /** @private */ openFormSettings(settings: FormSettingsModel): void; /** @private */ updateFormSchema(schema: FormSchema): void; /** @private */ close(): void; /** @private */ destroy(): void; private renderEmptyState; private renderHeader; private renderComponentEditor; private populateTabContents; /** * After the component editor renders, if the field's `defaultValue` is * empty/undefined and the config's `default` for it is set, fire a single * onChange so the main section reflects runtime updates made through * `getProperty(type, key).default = ...`. Only the `defaultValue` key is * synced — other properties keep their original (un-dirty) state so the * filter in property-mapping continues to drop them when they equal the * config default. * @private */ private applyPendingDefaultsFromConfig; private renderFormSettings; private handlePropertyChange; private handleConditionsChange; private getFilteredGroups; private getFilteredLookupGroups; private applyModeFiltering; private applyVisibilityFiltering; private buildPropertyValues; private extractAllFormFieldNames; private refreshTabs; private clonePropertyValues; private disposeAll; }