/*! * devextreme-react * Version: 25.2.7 * Build date: Tue May 05 2026 * * Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED * * This software may be modified and distributed under the terms * of the MIT license. See the LICENSE file in the root of the project for details. * * https://github.com/DevExpress/DevExtreme */ import * as React from "react"; import { Ref, ReactElement } from "react"; import dxForm, { Properties } from "devextreme/ui/form"; import { IHtmlOptions, NestedComponentMeta } from "./core/component"; import type { ContentReadyEvent, DisposingEvent, EditorEnterKeyEvent, InitializedEvent, SmartPastedEvent, SmartPastingEvent, FormItemType, FormPredefinedButtonItem, dxFormButtonItem, dxFormEmptyItem, dxFormGroupItem, dxFormSimpleItem, dxFormTabbedItem, FormItemComponent, LabelLocation } from "devextreme/ui/form"; import type { ContentReadyEvent as ButtonContentReadyEvent, DisposingEvent as ButtonDisposingEvent, InitializedEvent as ButtonInitializedEvent, dxButtonOptions, ClickEvent, OptionChangedEvent } from "devextreme/ui/button"; import type { ContentReadyEvent as TabPanelContentReadyEvent, DisposingEvent as TabPanelDisposingEvent, InitializedEvent as TabPanelInitializedEvent, OptionChangedEvent as TabPanelOptionChangedEvent, dxTabPanelOptions, dxTabPanelItem, ItemClickEvent, ItemContextMenuEvent, ItemHoldEvent, ItemRenderedEvent, SelectionChangedEvent, SelectionChangingEvent, TitleClickEvent, TitleHoldEvent, TitleRenderedEvent } from "devextreme/ui/tab_panel"; import type { ValidationRuleType, HorizontalAlignment, VerticalAlignment, ButtonStyle, template, ButtonType, ComparisonOperator, TabsIconPosition, TabsStyle, Position } from "devextreme/common"; import type { CollectionWidgetItem } from "devextreme/ui/collection/ui.collection_widget.base"; import type { DataSourceOptions } from "devextreme/data/data_source"; import type { Store } from "devextreme/data/store"; import type DataSource from "devextreme/data/data_source"; import type * as CommonTypes from "devextreme/common"; type ReplaceFieldTypes = { [P in keyof TSource]: P extends keyof TReplacement ? TReplacement[P] : TSource[P]; }; type IFormOptionsNarrowedEvents = { onContentReady?: ((e: ContentReadyEvent) => void); onDisposing?: ((e: DisposingEvent) => void); onEditorEnterKey?: ((e: EditorEnterKeyEvent) => void); onInitialized?: ((e: InitializedEvent) => void); onSmartPasted?: ((e: SmartPastedEvent) => void); onSmartPasting?: ((e: SmartPastingEvent) => void); }; type IFormOptions = React.PropsWithChildren & IHtmlOptions & { defaultFormData?: any; onFormDataChange?: (value: any) => void; }>; interface FormRef { instance: () => dxForm; } declare const Form: (props: React.PropsWithChildren & { ref?: Ref; }) => ReactElement | null; type IAIOptionsProps = React.PropsWithChildren<{ disabled?: boolean; instruction?: string | undefined; }>; declare const AIOptions: ((props: IAIOptionsProps) => React.FunctionComponentElement>) & NestedComponentMeta; type IAsyncRuleProps = React.PropsWithChildren<{ ignoreEmptyValue?: boolean; message?: string; reevaluate?: boolean; type?: ValidationRuleType; validationCallback?: ((options: { column: Record; data: Record; formItem: Record; rule: Record; validator: Record; value: any; }) => any); }>; declare const AsyncRule: ((props: IAsyncRuleProps) => React.FunctionComponentElement; data: Record; formItem: Record; rule: Record; validator: Record; value: any; }) => any) | undefined; } & { children?: React.ReactNode; } & { elementDescriptor: import("./core/configuration/react/element").IElementDescriptor; }>>) & NestedComponentMeta; type IButtonItemProps = React.PropsWithChildren<{ buttonOptions?: dxButtonOptions | undefined; colSpan?: number | undefined; cssClass?: string | undefined; horizontalAlignment?: HorizontalAlignment; itemType?: FormItemType; name?: FormPredefinedButtonItem | string | undefined; verticalAlignment?: VerticalAlignment; visible?: boolean; visibleIndex?: number | undefined; }>; declare const ButtonItem: ((props: IButtonItemProps) => React.FunctionComponentElement>) & NestedComponentMeta; type IButtonOptionsProps = React.PropsWithChildren<{ accessKey?: string | undefined; activeStateEnabled?: boolean; disabled?: boolean; elementAttr?: Record; focusStateEnabled?: boolean; height?: number | string | undefined; hint?: string | undefined; hoverStateEnabled?: boolean; icon?: string; onClick?: ((e: ClickEvent) => void); onContentReady?: ((e: ButtonContentReadyEvent) => void); onDisposing?: ((e: ButtonDisposingEvent) => void); onInitialized?: ((e: ButtonInitializedEvent) => void); onOptionChanged?: ((e: OptionChangedEvent) => void); rtlEnabled?: boolean; stylingMode?: ButtonStyle; tabIndex?: number; template?: ((buttonData: { icon: string; text: string; }, contentElement: any) => string | any) | template; text?: string; type?: ButtonType | string; useSubmitBehavior?: boolean; validationGroup?: string | undefined; visible?: boolean; width?: number | string | undefined; render?: (...params: any) => React.ReactNode; component?: React.ComponentType; }>; declare const ButtonOptions: ((props: IButtonOptionsProps) => React.FunctionComponentElement | undefined; focusStateEnabled?: boolean | undefined; height?: number | string | undefined; hint?: string | undefined; hoverStateEnabled?: boolean | undefined; icon?: string | undefined; onClick?: ((e: ClickEvent) => void) | undefined; onContentReady?: ((e: ButtonContentReadyEvent) => void) | undefined; onDisposing?: ((e: ButtonDisposingEvent) => void) | undefined; onInitialized?: ((e: ButtonInitializedEvent) => void) | undefined; onOptionChanged?: ((e: OptionChangedEvent) => void) | undefined; rtlEnabled?: boolean | undefined; stylingMode?: ButtonStyle | undefined; tabIndex?: number | undefined; template?: template | ((buttonData: { icon: string; text: string; }, contentElement: any) => string | any) | undefined; text?: string | undefined; type?: string | undefined; useSubmitBehavior?: boolean | undefined; validationGroup?: string | undefined; visible?: boolean | undefined; width?: number | string | undefined; render?: ((...params: any) => React.ReactNode) | undefined; component?: React.ComponentType | undefined; } & { children?: React.ReactNode; } & { elementDescriptor: import("./core/configuration/react/element").IElementDescriptor; }>>) & NestedComponentMeta; type IColCountByScreenProps = React.PropsWithChildren<{ lg?: number | undefined; md?: number | undefined; sm?: number | undefined; xs?: number | undefined; }>; declare const ColCountByScreen: ((props: IColCountByScreenProps) => React.FunctionComponentElement>) & NestedComponentMeta; type ICompareRuleProps = React.PropsWithChildren<{ comparisonTarget?: (() => any); comparisonType?: ComparisonOperator; ignoreEmptyValue?: boolean; message?: string; type?: ValidationRuleType; }>; declare const CompareRule: ((props: ICompareRuleProps) => React.FunctionComponentElement any) | undefined; comparisonType?: ComparisonOperator | undefined; ignoreEmptyValue?: boolean | undefined; message?: string | undefined; type?: ValidationRuleType | undefined; } & { children?: React.ReactNode; } & { elementDescriptor: import("./core/configuration/react/element").IElementDescriptor; }>>) & NestedComponentMeta; type ICustomRuleProps = React.PropsWithChildren<{ ignoreEmptyValue?: boolean; message?: string; reevaluate?: boolean; type?: ValidationRuleType; validationCallback?: ((options: { column: Record; data: Record; formItem: Record; rule: Record; validator: Record; value: any; }) => boolean); }>; declare const CustomRule: ((props: ICustomRuleProps) => React.FunctionComponentElement; data: Record; formItem: Record; rule: Record; validator: Record; value: any; }) => boolean) | undefined; } & { children?: React.ReactNode; } & { elementDescriptor: import("./core/configuration/react/element").IElementDescriptor; }>>) & NestedComponentMeta; type IEmailRuleProps = React.PropsWithChildren<{ ignoreEmptyValue?: boolean; message?: string; type?: ValidationRuleType; }>; declare const EmailRule: ((props: IEmailRuleProps) => React.FunctionComponentElement>) & NestedComponentMeta; type IEmptyItemProps = React.PropsWithChildren<{ colSpan?: number | undefined; cssClass?: string | undefined; itemType?: FormItemType; name?: string | undefined; visible?: boolean; visibleIndex?: number | undefined; }>; declare const EmptyItem: ((props: IEmptyItemProps) => React.FunctionComponentElement>) & NestedComponentMeta; type IGroupItemProps = React.PropsWithChildren<{ alignItemLabels?: boolean; caption?: string | undefined; captionTemplate?: ((data: { caption: string; component: dxForm; name: string; }, itemElement: any) => string | any) | template; colCount?: number; colCountByScreen?: Record | { lg?: number | undefined; md?: number | undefined; sm?: number | undefined; xs?: number | undefined; }; colSpan?: number | undefined; cssClass?: string | undefined; items?: Array; itemType?: FormItemType; name?: string | undefined; template?: ((data: { component: dxForm; formData: Record; }, itemElement: any) => string | any) | template; visible?: boolean; visibleIndex?: number | undefined; captionRender?: (...params: any) => React.ReactNode; captionComponent?: React.ComponentType; render?: (...params: any) => React.ReactNode; component?: React.ComponentType; }>; declare const GroupItem: ((props: IGroupItemProps) => React.FunctionComponentElement string | any) | undefined; colCount?: number | undefined; colCountByScreen?: Record | { lg?: number | undefined; md?: number | undefined; sm?: number | undefined; xs?: number | undefined; } | undefined; colSpan?: number | undefined; cssClass?: string | undefined; items?: (dxFormSimpleItem | dxFormGroupItem | dxFormTabbedItem | dxFormEmptyItem | dxFormButtonItem)[] | undefined; itemType?: FormItemType | undefined; name?: string | undefined; template?: template | ((data: { component: dxForm; formData: Record; }, itemElement: any) => string | any) | undefined; visible?: boolean | undefined; visibleIndex?: number | undefined; captionRender?: ((...params: any) => React.ReactNode) | undefined; captionComponent?: React.ComponentType | undefined; render?: ((...params: any) => React.ReactNode) | undefined; component?: React.ComponentType | undefined; } & { children?: React.ReactNode; } & { elementDescriptor: import("./core/configuration/react/element").IElementDescriptor; }>>) & NestedComponentMeta; type IItemProps = React.PropsWithChildren<{ badge?: string; disabled?: boolean; html?: string; icon?: string; tabTemplate?: (() => string | any) | template; template?: ((itemData: CollectionWidgetItem, itemIndex: number, itemElement: any) => string | any) | template; text?: string; title?: string; visible?: boolean; aiOptions?: Record | { disabled?: boolean; instruction?: string | undefined; }; colSpan?: number | undefined; cssClass?: string | undefined; dataField?: string | undefined; editorOptions?: any | undefined; editorType?: FormItemComponent; helpText?: string | undefined; isRequired?: boolean | undefined; itemType?: FormItemType; label?: Record | { alignment?: HorizontalAlignment; location?: LabelLocation; showColon?: boolean; template?: ((itemData: { component: dxForm; dataField: string; editorOptions: any; editorType: string; name: string; text: string; }, itemElement: any) => string | any) | template; text?: string | undefined; visible?: boolean; }; name?: string | undefined | FormPredefinedButtonItem; validationRules?: Array; visibleIndex?: number | undefined; alignItemLabels?: boolean; caption?: string | undefined; captionTemplate?: ((data: { caption: string; component: dxForm; name: string; }, itemElement: any) => string | any) | template; colCount?: number; colCountByScreen?: Record | { lg?: number | undefined; md?: number | undefined; sm?: number | undefined; xs?: number | undefined; }; items?: Array; tabPanelOptions?: dxTabPanelOptions | undefined; tabs?: Array> | { alignItemLabels?: boolean; badge?: string | undefined; colCount?: number; colCountByScreen?: Record | { lg?: number | undefined; md?: number | undefined; sm?: number | undefined; xs?: number | undefined; }; disabled?: boolean; icon?: string | undefined; items?: Array; tabTemplate?: ((tabData: any, tabIndex: number, tabElement: any) => any) | template | undefined; template?: ((tabData: any, tabIndex: number, tabElement: any) => any) | template | undefined; title?: string | undefined; }[]; buttonOptions?: dxButtonOptions | undefined; horizontalAlignment?: HorizontalAlignment; verticalAlignment?: VerticalAlignment; tabRender?: (...params: any) => React.ReactNode; tabComponent?: React.ComponentType; render?: (...params: any) => React.ReactNode; component?: React.ComponentType; captionRender?: (...params: any) => React.ReactNode; captionComponent?: React.ComponentType; }>; declare const Item: ((props: IItemProps) => React.FunctionComponentElement string | any) | undefined; template?: template | ((itemData: CollectionWidgetItem, itemIndex: number, itemElement: any) => string | any) | undefined; text?: string | undefined; title?: string | undefined; visible?: boolean | undefined; aiOptions?: Record | { disabled?: boolean | undefined; instruction?: string | undefined; } | undefined; colSpan?: number | undefined; cssClass?: string | undefined; dataField?: string | undefined; editorOptions?: any | undefined; editorType?: FormItemComponent | undefined; helpText?: string | undefined; isRequired?: boolean | undefined; itemType?: FormItemType | undefined; label?: Record | { alignment?: HorizontalAlignment | undefined; location?: LabelLocation | undefined; showColon?: boolean | undefined; template?: template | ((itemData: { component: dxForm; dataField: string; editorOptions: any; editorType: string; name: string; text: string; }, itemElement: any) => string | any) | undefined; text?: string | undefined; visible?: boolean | undefined; } | undefined; name?: string | undefined | FormPredefinedButtonItem; validationRules?: CommonTypes.ValidationRule[] | undefined; visibleIndex?: number | undefined; alignItemLabels?: boolean | undefined; caption?: string | undefined; captionTemplate?: template | ((data: { caption: string; component: dxForm; name: string; }, itemElement: any) => string | any) | undefined; colCount?: number | undefined; colCountByScreen?: Record | { lg?: number | undefined; md?: number | undefined; sm?: number | undefined; xs?: number | undefined; } | undefined; items?: (dxFormSimpleItem | dxFormGroupItem | dxFormTabbedItem | dxFormEmptyItem | dxFormButtonItem)[] | undefined; tabPanelOptions?: dxTabPanelOptions | undefined; tabs?: Record[] | { alignItemLabels?: boolean | undefined; badge?: string | undefined; colCount?: number | undefined; colCountByScreen?: Record | { lg?: number | undefined; md?: number | undefined; sm?: number | undefined; xs?: number | undefined; } | undefined; disabled?: boolean | undefined; icon?: string | undefined; items?: (dxFormSimpleItem | dxFormGroupItem | dxFormTabbedItem | dxFormEmptyItem | dxFormButtonItem)[] | undefined; tabTemplate?: template | ((tabData: any, tabIndex: number, tabElement: any) => any) | undefined; template?: template | ((tabData: any, tabIndex: number, tabElement: any) => any) | undefined; title?: string | undefined; }[] | undefined; buttonOptions?: dxButtonOptions | undefined; horizontalAlignment?: HorizontalAlignment | undefined; verticalAlignment?: VerticalAlignment | undefined; tabRender?: ((...params: any) => React.ReactNode) | undefined; tabComponent?: React.ComponentType | undefined; render?: ((...params: any) => React.ReactNode) | undefined; component?: React.ComponentType | undefined; captionRender?: ((...params: any) => React.ReactNode) | undefined; captionComponent?: React.ComponentType | undefined; } & { children?: React.ReactNode; } & { elementDescriptor: import("./core/configuration/react/element").IElementDescriptor; }>>) & NestedComponentMeta; type ILabelProps = React.PropsWithChildren<{ alignment?: HorizontalAlignment; location?: LabelLocation; showColon?: boolean; template?: ((itemData: { component: dxForm; dataField: string; editorOptions: any; editorType: string; name: string; text: string; }, itemElement: any) => string | any) | template; text?: string | undefined; visible?: boolean; render?: (...params: any) => React.ReactNode; component?: React.ComponentType; }>; declare const Label: ((props: ILabelProps) => React.FunctionComponentElement string | any) | undefined; text?: string | undefined; visible?: boolean | undefined; render?: ((...params: any) => React.ReactNode) | undefined; component?: React.ComponentType | undefined; } & { children?: React.ReactNode; } & { elementDescriptor: import("./core/configuration/react/element").IElementDescriptor; }>>) & NestedComponentMeta; type INumericRuleProps = React.PropsWithChildren<{ ignoreEmptyValue?: boolean; message?: string; type?: ValidationRuleType; }>; declare const NumericRule: ((props: INumericRuleProps) => React.FunctionComponentElement>) & NestedComponentMeta; type IPatternRuleProps = React.PropsWithChildren<{ ignoreEmptyValue?: boolean; message?: string; pattern?: RegExp | string; type?: ValidationRuleType; }>; declare const PatternRule: ((props: IPatternRuleProps) => React.FunctionComponentElement>) & NestedComponentMeta; type IRangeRuleProps = React.PropsWithChildren<{ ignoreEmptyValue?: boolean; max?: Date | number | string; message?: string; min?: Date | number | string; reevaluate?: boolean; type?: ValidationRuleType; }>; declare const RangeRule: ((props: IRangeRuleProps) => React.FunctionComponentElement>) & NestedComponentMeta; type IRequiredRuleProps = React.PropsWithChildren<{ message?: string; trim?: boolean; type?: ValidationRuleType; }>; declare const RequiredRule: ((props: IRequiredRuleProps) => React.FunctionComponentElement>) & NestedComponentMeta; type ISimpleItemProps = React.PropsWithChildren<{ aiOptions?: Record | { disabled?: boolean; instruction?: string | undefined; }; colSpan?: number | undefined; cssClass?: string | undefined; dataField?: string | undefined; editorOptions?: any | undefined; editorType?: FormItemComponent; helpText?: string | undefined; isRequired?: boolean | undefined; itemType?: FormItemType; label?: Record | { alignment?: HorizontalAlignment; location?: LabelLocation; showColon?: boolean; template?: ((itemData: { component: dxForm; dataField: string; editorOptions: any; editorType: string; name: string; text: string; }, itemElement: any) => string | any) | template; text?: string | undefined; visible?: boolean; }; name?: string | undefined; template?: ((data: { component: dxForm; dataField: string; editorOptions: Record; editorType: string; name: string; }, itemElement: any) => string | any) | template; validationRules?: Array; visible?: boolean; visibleIndex?: number | undefined; render?: (...params: any) => React.ReactNode; component?: React.ComponentType; }>; declare const SimpleItem: ((props: ISimpleItemProps) => React.FunctionComponentElement | { disabled?: boolean | undefined; instruction?: string | undefined; } | undefined; colSpan?: number | undefined; cssClass?: string | undefined; dataField?: string | undefined; editorOptions?: any | undefined; editorType?: FormItemComponent | undefined; helpText?: string | undefined; isRequired?: boolean | undefined; itemType?: FormItemType | undefined; label?: Record | { alignment?: HorizontalAlignment | undefined; location?: LabelLocation | undefined; showColon?: boolean | undefined; template?: template | ((itemData: { component: dxForm; dataField: string; editorOptions: any; editorType: string; name: string; text: string; }, itemElement: any) => string | any) | undefined; text?: string | undefined; visible?: boolean | undefined; } | undefined; name?: string | undefined; template?: template | ((data: { component: dxForm; dataField: string; editorOptions: Record; editorType: string; name: string; }, itemElement: any) => string | any) | undefined; validationRules?: CommonTypes.ValidationRule[] | undefined; visible?: boolean | undefined; visibleIndex?: number | undefined; render?: ((...params: any) => React.ReactNode) | undefined; component?: React.ComponentType | undefined; } & { children?: React.ReactNode; } & { elementDescriptor: import("./core/configuration/react/element").IElementDescriptor; }>>) & NestedComponentMeta; type IStringLengthRuleProps = React.PropsWithChildren<{ ignoreEmptyValue?: boolean; max?: number; message?: string; min?: number; trim?: boolean; type?: ValidationRuleType; }>; declare const StringLengthRule: ((props: IStringLengthRuleProps) => React.FunctionComponentElement>) & NestedComponentMeta; type ITabProps = React.PropsWithChildren<{ alignItemLabels?: boolean; badge?: string | undefined; colCount?: number; colCountByScreen?: Record | { lg?: number | undefined; md?: number | undefined; sm?: number | undefined; xs?: number | undefined; }; disabled?: boolean; icon?: string | undefined; items?: Array; tabTemplate?: ((tabData: any, tabIndex: number, tabElement: any) => any) | template | undefined; template?: ((tabData: any, tabIndex: number, tabElement: any) => any) | template | undefined; title?: string | undefined; tabRender?: (...params: any) => React.ReactNode; tabComponent?: React.ComponentType; render?: (...params: any) => React.ReactNode; component?: React.ComponentType; }>; declare const Tab: ((props: ITabProps) => React.FunctionComponentElement | { lg?: number | undefined; md?: number | undefined; sm?: number | undefined; xs?: number | undefined; } | undefined; disabled?: boolean | undefined; icon?: string | undefined; items?: (dxFormSimpleItem | dxFormGroupItem | dxFormTabbedItem | dxFormEmptyItem | dxFormButtonItem)[] | undefined; tabTemplate?: template | ((tabData: any, tabIndex: number, tabElement: any) => any) | undefined; template?: template | ((tabData: any, tabIndex: number, tabElement: any) => any) | undefined; title?: string | undefined; tabRender?: ((...params: any) => React.ReactNode) | undefined; tabComponent?: React.ComponentType | undefined; render?: ((...params: any) => React.ReactNode) | undefined; component?: React.ComponentType | undefined; } & { children?: React.ReactNode; } & { elementDescriptor: import("./core/configuration/react/element").IElementDescriptor; }>>) & NestedComponentMeta; type ITabbedItemProps = React.PropsWithChildren<{ colSpan?: number | undefined; cssClass?: string | undefined; itemType?: FormItemType; name?: string | undefined; tabPanelOptions?: dxTabPanelOptions | undefined; tabs?: Array> | { alignItemLabels?: boolean; badge?: string | undefined; colCount?: number; colCountByScreen?: Record | { lg?: number | undefined; md?: number | undefined; sm?: number | undefined; xs?: number | undefined; }; disabled?: boolean; icon?: string | undefined; items?: Array; tabTemplate?: ((tabData: any, tabIndex: number, tabElement: any) => any) | template | undefined; template?: ((tabData: any, tabIndex: number, tabElement: any) => any) | template | undefined; title?: string | undefined; }[]; visible?: boolean; visibleIndex?: number | undefined; }>; declare const TabbedItem: ((props: ITabbedItemProps) => React.FunctionComponentElement[] | { alignItemLabels?: boolean | undefined; badge?: string | undefined; colCount?: number | undefined; colCountByScreen?: Record | { lg?: number | undefined; md?: number | undefined; sm?: number | undefined; xs?: number | undefined; } | undefined; disabled?: boolean | undefined; icon?: string | undefined; items?: (dxFormSimpleItem | dxFormGroupItem | dxFormTabbedItem | dxFormEmptyItem | dxFormButtonItem)[] | undefined; tabTemplate?: template | ((tabData: any, tabIndex: number, tabElement: any) => any) | undefined; template?: template | ((tabData: any, tabIndex: number, tabElement: any) => any) | undefined; title?: string | undefined; }[] | undefined; visible?: boolean | undefined; visibleIndex?: number | undefined; } & { children?: React.ReactNode; } & { elementDescriptor: import("./core/configuration/react/element").IElementDescriptor; }>>) & NestedComponentMeta; type ITabPanelOptionsProps = React.PropsWithChildren<{ accessKey?: string | undefined; activeStateEnabled?: boolean; animationEnabled?: boolean; dataSource?: Array | DataSource | DataSourceOptions | null | Store | string; deferRendering?: boolean; disabled?: boolean; elementAttr?: Record; focusStateEnabled?: boolean; height?: number | string | undefined; hint?: string | undefined; hoverStateEnabled?: boolean; iconPosition?: TabsIconPosition; itemHoldTimeout?: number; items?: Array; itemTemplate?: ((itemData: any, itemIndex: number, itemElement: any) => string | any) | template; itemTitleTemplate?: ((itemData: any, itemIndex: number, itemElement: any) => string | any) | template; keyExpr?: (() => void) | string; loop?: boolean; noDataText?: string; onContentReady?: ((e: TabPanelContentReadyEvent) => void); onDisposing?: ((e: TabPanelDisposingEvent) => void); onInitialized?: ((e: TabPanelInitializedEvent) => void); onItemClick?: ((e: ItemClickEvent) => void); onItemContextMenu?: ((e: ItemContextMenuEvent) => void); onItemHold?: ((e: ItemHoldEvent) => void); onItemRendered?: ((e: ItemRenderedEvent) => void); onOptionChanged?: ((e: TabPanelOptionChangedEvent) => void); onSelectionChanged?: ((e: SelectionChangedEvent) => void); onSelectionChanging?: ((e: SelectionChangingEvent) => void); onTitleClick?: ((e: TitleClickEvent) => void); onTitleHold?: ((e: TitleHoldEvent) => void); onTitleRendered?: ((e: TitleRenderedEvent) => void); repaintChangesOnly?: boolean; rtlEnabled?: boolean; scrollByContent?: boolean; scrollingEnabled?: boolean; selectedIndex?: number; selectedItem?: any; showNavButtons?: boolean; stylingMode?: TabsStyle; swipeEnabled?: boolean; tabIndex?: number; tabsPosition?: Position; visible?: boolean; width?: number | string | undefined; defaultItems?: Array; onItemsChange?: (value: Array) => void; defaultSelectedIndex?: number; onSelectedIndexChange?: (value: number) => void; defaultSelectedItem?: any; onSelectedItemChange?: (value: any) => void; itemRender?: (...params: any) => React.ReactNode; itemComponent?: React.ComponentType; itemTitleRender?: (...params: any) => React.ReactNode; itemTitleComponent?: React.ComponentType; }>; declare const TabPanelOptions: ((props: ITabPanelOptionsProps) => React.FunctionComponentElement | DataSourceOptions | Store | null | undefined; deferRendering?: boolean | undefined; disabled?: boolean | undefined; elementAttr?: Record | undefined; focusStateEnabled?: boolean | undefined; height?: number | string | undefined; hint?: string | undefined; hoverStateEnabled?: boolean | undefined; iconPosition?: TabsIconPosition | undefined; itemHoldTimeout?: number | undefined; items?: any[] | undefined; itemTemplate?: template | ((itemData: any, itemIndex: number, itemElement: any) => string | any) | undefined; itemTitleTemplate?: template | ((itemData: any, itemIndex: number, itemElement: any) => string | any) | undefined; keyExpr?: string | (() => void) | undefined; loop?: boolean | undefined; noDataText?: string | undefined; onContentReady?: ((e: TabPanelContentReadyEvent) => void) | undefined; onDisposing?: ((e: TabPanelDisposingEvent) => void) | undefined; onInitialized?: ((e: TabPanelInitializedEvent) => void) | undefined; onItemClick?: ((e: ItemClickEvent) => void) | undefined; onItemContextMenu?: ((e: ItemContextMenuEvent) => void) | undefined; onItemHold?: ((e: ItemHoldEvent) => void) | undefined; onItemRendered?: ((e: ItemRenderedEvent) => void) | undefined; onOptionChanged?: ((e: TabPanelOptionChangedEvent) => void) | undefined; onSelectionChanged?: ((e: SelectionChangedEvent) => void) | undefined; onSelectionChanging?: ((e: SelectionChangingEvent) => void) | undefined; onTitleClick?: ((e: TitleClickEvent) => void) | undefined; onTitleHold?: ((e: TitleHoldEvent) => void) | undefined; onTitleRendered?: ((e: TitleRenderedEvent) => void) | undefined; repaintChangesOnly?: boolean | undefined; rtlEnabled?: boolean | undefined; scrollByContent?: boolean | undefined; scrollingEnabled?: boolean | undefined; selectedIndex?: number | undefined; selectedItem?: any; showNavButtons?: boolean | undefined; stylingMode?: TabsStyle | undefined; swipeEnabled?: boolean | undefined; tabIndex?: number | undefined; tabsPosition?: Position | undefined; visible?: boolean | undefined; width?: number | string | undefined; defaultItems?: any[] | undefined; onItemsChange?: ((value: Array) => void) | undefined; defaultSelectedIndex?: number | undefined; onSelectedIndexChange?: ((value: number) => void) | undefined; defaultSelectedItem?: any; onSelectedItemChange?: ((value: any) => void) | undefined; itemRender?: ((...params: any) => React.ReactNode) | undefined; itemComponent?: React.ComponentType | undefined; itemTitleRender?: ((...params: any) => React.ReactNode) | undefined; itemTitleComponent?: React.ComponentType | undefined; } & { children?: React.ReactNode; } & { elementDescriptor: import("./core/configuration/react/element").IElementDescriptor; }>>) & NestedComponentMeta; type ITabPanelOptionsItemProps = React.PropsWithChildren<{ badge?: string; disabled?: boolean; html?: string; icon?: string; tabTemplate?: (() => string | any) | template; template?: ((itemData: CollectionWidgetItem, itemIndex: number, itemElement: any) => string | any) | template; text?: string; title?: string; visible?: boolean; tabRender?: (...params: any) => React.ReactNode; tabComponent?: React.ComponentType; render?: (...params: any) => React.ReactNode; component?: React.ComponentType; }>; declare const TabPanelOptionsItem: ((props: ITabPanelOptionsItemProps) => React.FunctionComponentElement string | any) | undefined; template?: template | ((itemData: CollectionWidgetItem, itemIndex: number, itemElement: any) => string | any) | undefined; text?: string | undefined; title?: string | undefined; visible?: boolean | undefined; tabRender?: ((...params: any) => React.ReactNode) | undefined; tabComponent?: React.ComponentType | undefined; render?: ((...params: any) => React.ReactNode) | undefined; component?: React.ComponentType | undefined; } & { children?: React.ReactNode; } & { elementDescriptor: import("./core/configuration/react/element").IElementDescriptor; }>>) & NestedComponentMeta; type IValidationRuleProps = React.PropsWithChildren<{ message?: string; trim?: boolean; type?: ValidationRuleType; ignoreEmptyValue?: boolean; max?: Date | number | string; min?: Date | number | string; reevaluate?: boolean; validationCallback?: ((options: { column: Record; data: Record; formItem: Record; rule: Record; validator: Record; value: any; }) => boolean); comparisonTarget?: (() => any); comparisonType?: ComparisonOperator; pattern?: RegExp | string; }>; declare const ValidationRule: ((props: IValidationRuleProps) => React.FunctionComponentElement; data: Record; formItem: Record; rule: Record; validator: Record; value: any; }) => boolean) | undefined; comparisonTarget?: (() => any) | undefined; comparisonType?: ComparisonOperator | undefined; pattern?: string | RegExp | undefined; } & { children?: React.ReactNode; } & { elementDescriptor: import("./core/configuration/react/element").IElementDescriptor; }>>) & NestedComponentMeta; export default Form; export { Form, IFormOptions, FormRef, AIOptions, IAIOptionsProps, AsyncRule, IAsyncRuleProps, ButtonItem, IButtonItemProps, ButtonOptions, IButtonOptionsProps, ColCountByScreen, IColCountByScreenProps, CompareRule, ICompareRuleProps, CustomRule, ICustomRuleProps, EmailRule, IEmailRuleProps, EmptyItem, IEmptyItemProps, GroupItem, IGroupItemProps, Item, IItemProps, Label, ILabelProps, NumericRule, INumericRuleProps, PatternRule, IPatternRuleProps, RangeRule, IRangeRuleProps, RequiredRule, IRequiredRuleProps, SimpleItem, ISimpleItemProps, StringLengthRule, IStringLengthRuleProps, Tab, ITabProps, TabbedItem, ITabbedItemProps, TabPanelOptions, ITabPanelOptionsProps, TabPanelOptionsItem, ITabPanelOptionsItemProps, ValidationRule, IValidationRuleProps }; import type * as FormTypes from 'devextreme/ui/form_types'; export { FormTypes };