// Generated by dts-bundle v0.7.3
// Dependencies for this module:
//   ../dayjs
//   ../react
//   ../@mui/material
//   ../@mui/material/TextField
//   ../@mui/material/Button
//   ../@mui/material/IconButton
//   ../@mui/material/Box

declare module "react-declarative-lite" {
  export type { ISize } from "react-declarative-lite/model/ISize";
  import { TypedField as TypedFieldInternal } from "react-declarative-lite/model/TypedField";
  import { IValidation as IValidationInternal } from "react-declarative-lite/model/IValidation";
  import { IInvalidField as IInvalidFieldInternal } from "react-declarative-lite/model/IInvalidField";
  import { IField as IFieldInternal } from "react-declarative-lite/model/IField";
  import { IEntity as IEntityInternal } from "react-declarative-lite/model/IEntity";
  import { IManaged as IManagedInternal } from "react-declarative-lite/model/IManaged";
  export { TileMode } from "react-declarative-lite/components";
  export { FieldType } from "react-declarative-lite/model/FieldType";
  export { SelectionMode } from "react-declarative-lite/model/SelectionMode";
  import { IOneApi as IOneApiInternal } from "react-declarative-lite/model/IOneApi";
  import { IOption as IOptionInternal } from "react-declarative-lite/model/IOption";
  export { useItemModal } from "react-declarative-lite/hooks/useItemModal";
  export { useChangeDelay } from "react-declarative-lite/hooks/useChangeDelay";
  import { OneHandler as OneHandlerInternal } from "react-declarative-lite/model/IOneProps";
  import { useActualCallback } from "react-declarative-lite/hooks/useActualCallback";
  import { useActualValue } from "react-declarative-lite/hooks/useActualValue";
  import { useActualState } from "react-declarative-lite/hooks/useActualState";
  import { useActualRef } from "react-declarative-lite/hooks/useActualRef";
  import { useRenderWaiter } from "react-declarative-lite/hooks/useRenderWaiter";
  import { useAsyncAction } from "react-declarative-lite/hooks/useAsyncAction";
  import { useAsyncValue } from "react-declarative-lite/hooks/useAsyncValue";
  import { useSinglerunAction } from "react-declarative-lite/hooks/useSinglerunAction";
  import { useQueuedAction } from "react-declarative-lite/hooks/useQueuedAction";
  import { useMediaContext } from "react-declarative-lite/hooks/useMediaContext";
  import { useChangeSubject } from "react-declarative-lite/hooks/useChangeSubject";
  import { useDeepChangeSubject } from "react-declarative-lite/hooks/useDeepChangeSubject";
  import { useReloadTrigger } from "react-declarative-lite/hooks/useReloadTrigger";
  import { useSingleton } from "react-declarative-lite/hooks/useSingleton";
  import { useElementSize } from "react-declarative-lite/hooks/useElementSize";
  import { useWindowSize } from "react-declarative-lite/hooks/useWindowSize";
  import { useSubject } from "react-declarative-lite/hooks/useSubject";
  import { useChange } from "react-declarative-lite/hooks/useChange";
  export {
    ModalManagerProvider,
    useModalManager,
  } from "react-declarative-lite/components/ModalManager";
  export type { IModal } from "react-declarative-lite/components/ModalManager";
  export { useElementSize };
  export { useWindowSize };
  import IAnything from "react-declarative-lite/model/IAnything";
  import IRowData, { RowId } from "react-declarative-lite/model/IRowData";
  export type { IRowData, RowId };
  export type TypedField<
    Data = IAnything,
    Payload = IAnything,
  > = TypedFieldInternal<Data, Payload>;
  export type IField<Data = IAnything, Payload = IAnything> = IFieldInternal<
    Data,
    Payload
  >;
  export type IFieldEntity<
    Data = IAnything,
    Payload = IAnything,
  > = IEntityInternal<Data, Payload>;
  export type IFieldManaged<
    Data = IAnything,
    Value = IAnything,
  > = IManagedInternal<Data, Value>;
  export type IInvalidField<
    Data = IAnything,
    Payload = IAnything,
  > = IInvalidFieldInternal<Data, Payload>;
  export type IValidation = IValidationInternal;
  export type OneHandler<Data = IAnything> = OneHandlerInternal<Data>;
  export type IOneApi<Data = IAnything> = IOneApiInternal<Data>;
  export type IOption<Payload = any> = IOptionInternal<Payload>;
  import { ITile as ITileInternal } from "react-declarative-lite/components";
  export type ITile<
    RowData extends IRowData = any,
    Payload extends IAnything = IAnything,
  > = ITileInternal<RowData, Payload>;
  export { default as dayjs } from "dayjs";
  export { InfiniteView } from "react-declarative-lite/components";
  export { SearchView } from "react-declarative-lite/components";
  export type { ISearchItem } from "react-declarative-lite/components";
  export {
    VirtualView,
    VIRTUAL_VIEW_ROOT,
    VIRTUAL_VIEW_CHILD,
  } from "react-declarative-lite/components";
  export { ActionButton } from "react-declarative-lite/components";
  export { ActionIcon } from "react-declarative-lite/components";
  export { Async } from "react-declarative-lite/components";
  export { If } from "react-declarative-lite/components";
  export { One, OneTyped, OneConfig } from "react-declarative-lite/components";
  export { Tile, TileCheckbox } from "react-declarative-lite/components";
  export {
    OneSlotFactory,
    OneDefaultSlots,
  } from "react-declarative-lite/components";
  export {
    isBaseline,
    isBaselineSimple,
    isBaselineForRoot,
  } from "react-declarative-lite/components";
  export { NoSsr } from "react-declarative-lite/components";
  export { OtherComboSlot } from "react-declarative-lite/components";
  export { OtherItemsSlot } from "react-declarative-lite/components";
  export { useCursorPaginator } from "react-declarative-lite/components";
  export { useOffsetPaginator } from "react-declarative-lite/components";
  export { useGridAction } from "react-declarative-lite/components";
  export { useGridSelection } from "react-declarative-lite/components";
  export { createField, makeField } from "react-declarative-lite/components";
  export { createLayout, makeLayout } from "react-declarative-lite/components";
  export {
    useOneProps,
    useOneState,
    useOnePayload,
    useOneFeatures,
    useOneRadio,
    useOneContext,
    useOneMenu,
  } from "react-declarative-lite/components";
  export { useActualCallback };
  export { useActualValue };
  export { useActualState };
  export { useActualRef };
  export { useRenderWaiter };
  export { useChangeSubject };
  export { useDeepChangeSubject };
  export { useReloadTrigger };
  export { useSinglerunAction };
  export { useAsyncAction };
  export { useAsyncValue };
  export { useQueuedAction };
  export { useMediaContext };
  export { useSingleton };
  export { useSubject };
  export { useChange };
  import { IOnePublicProps as IOnePublicPropsInternal } from "react-declarative-lite/model/IOnePublicProps";
  export type IOnePublicProps<
    Data = IAnything,
    Field extends IField<Data> = IField<Data>,
  > = IOnePublicPropsInternal<Data, Field>;
  import { ICheckBoxSlot as ICheckBoxSlotInternal } from "react-declarative-lite/components";
  import { IYesNoSlot as IYesNoSlotInternal } from "react-declarative-lite/components";
  import { IComboSlot as IComboSlotInternal } from "react-declarative-lite/components";
  import { IItemsSlot as IItemsSlotInternal } from "react-declarative-lite/components";
  import { ILineSlot as ILineSlotInternal } from "react-declarative-lite/components";
  import { IProgressSlot as IProgressSlotInternal } from "react-declarative-lite/components";
  import { IRadioSlot as IRadioSlotInternal } from "react-declarative-lite/components";
  import { IDateSlot as IDateSlotInternal } from "react-declarative-lite/components";
  import { ITimeSlot as ITimeSlotInternal } from "react-declarative-lite/components";
  import { IFileSlot as IFileSlotInternal } from "react-declarative-lite/components";
  import { IDictSlot as IDictSlotInternal } from "react-declarative-lite/components";
  import { ITreeSlot as ITreeSlotInternal } from "react-declarative-lite/components";
  import { IChooseSlot as IChooseSlotIntetnal } from "react-declarative-lite/components";
  import { IRatingSlot as IRatingSlotInternal } from "react-declarative-lite/components";
  import { ISliderSlot as ISliderSlotInternal } from "react-declarative-lite/components";
  import { ISwitchSlot as ISwitchSlotInternal } from "react-declarative-lite/components";
  import { ITextSlot as ITextSlotInternal } from "react-declarative-lite/components";
  import { ICompleteSlot as ICompleteSlotInternal } from "react-declarative-lite/components";
  import { ITypographySlot as ITypographySlotInternal } from "react-declarative-lite/components";
  import { IButtonSlot as IButtonSlotInternal } from "react-declarative-lite/components";
  export type ICheckBoxSlot = ICheckBoxSlotInternal;
  export type IButtonSlot = IButtonSlotInternal;
  export type IComboSlot = IComboSlotInternal;
  export type IYesNoSlot = IYesNoSlotInternal;
  export type IItemsSlot = IItemsSlotInternal;
  export type ILineSlot = ILineSlotInternal;
  export type IProgressSlot = IProgressSlotInternal;
  export type IRadioSlot = IRadioSlotInternal;
  export type IRatingSlot = IRatingSlotInternal;
  export type ISliderSlot = ISliderSlotInternal;
  export type ISwitchSlot = ISwitchSlotInternal;
  export type ITextSlot = ITextSlotInternal;
  export type IDateSlot = IDateSlotInternal;
  export type ITimeSlot = ITimeSlotInternal;
  export type IFileSlot = IFileSlotInternal;
  export type IDictSlot = IDictSlotInternal;
  export type ITreeSlot = ITreeSlotInternal;
  export type IChooseSlot = IChooseSlotIntetnal;
  export type ITypographySlot = ITypographySlotInternal;
  export type ICompleteSlot = ICompleteSlotInternal;
  export { VirtualListBox } from "react-declarative-lite/components/One/components/common/VirtualListBox";
  export { openBlank } from "react-declarative-lite/utils/openBlank";
  export { randomString } from "react-declarative-lite/utils/randomString";
  export { chooseFile } from "react-declarative-lite/utils/chooseFile";
  export { compareFulltext } from "react-declarative-lite/utils/compareFulltext";
  export {
    promiseState,
    promiseValue,
  } from "react-declarative-lite/utils/promiseState";
  export { compareArray } from "react-declarative-lite/utils/compareArray";
  export { isObject } from "react-declarative-lite/utils/isObject";
  export { createValueProvider } from "react-declarative-lite/utils/createValueProvider";
  export { createStateProvider } from "react-declarative-lite/utils/createStateProvider";
  export { normalizeText } from "react-declarative-lite/utils/normalizeText";
  export { formatText } from "react-declarative-lite/utils/formatText";
  export { singleshot } from "react-declarative-lite/utils/hof/singleshot";
  export { singlerun, Task } from "react-declarative-lite/utils/hof/singlerun";
  export {
    cancelable,
    CANCELED_SYMBOL as CANCELED_PROMISE_SYMBOL,
  } from "react-declarative-lite/utils/hof/cancelable";
  export { debounce } from "react-declarative-lite/utils/hof/debounce";
  export { queued } from "react-declarative-lite/utils/hof/queued";
  export { cached } from "react-declarative-lite/utils/hof/cached";
  export { memoize } from "react-declarative-lite/utils/hof/memoize";
  export { trycatch } from "react-declarative-lite/utils/hof/trycatch";
  export { sleep } from "react-declarative-lite/utils/sleep";
  export { deepFlat } from "react-declarative-lite/utils/deepFlat";
  export { BehaviorSubject } from "react-declarative-lite/utils/rx/BehaviorSubject";
  export { EventEmitter } from "react-declarative-lite/utils/rx/EventEmitter";
  export { Observer } from "react-declarative-lite/utils/rx/Observer";
  export { Operator } from "react-declarative-lite/utils/rx/Operator";
  export { Subject } from "react-declarative-lite/utils/rx/Subject";
  export { Source } from "react-declarative-lite/utils/rx/Source";
  export { getAvailableFields } from "react-declarative-lite/utils/getAvailableFields";
  export { getInitialData } from "react-declarative-lite/utils/getInitialData";
  export { getInvalidFields } from "react-declarative-lite/utils/getInvalidFields";
  export { getFieldsError } from "react-declarative-lite/utils/getFieldsError";
  export { getFieldVariant } from "react-declarative-lite/utils/getFieldVariant";
  export { useDebounce } from "react-declarative-lite/components/One/hooks/useDebounce";
  export { useDebouncedCallback } from "react-declarative-lite/components/One/hooks/useDebouncedCallback";
  export { DatePicker } from "react-declarative-lite/components/common/DatePicker/DatePicker";
  export { TimePicker } from "react-declarative-lite/components/common/TimePicker/TimePicker";
  export { isInvalidFieldData } from "react-declarative-lite/utils/isInvalidFieldData";
  import type TSubjectInternal from "react-declarative-lite/model/TSubject";
  import TBehaviorSubjectInternal from "react-declarative-lite/model/TBehaviorSubject";
  import TObserverInternal, {
    TObservable as TObservableInternal,
  } from "react-declarative-lite/model/TObserver";
  export type TSubject<Data = void> = TSubjectInternal<Data>;
  export type TObserver<Data = void> = TObserverInternal<Data>;
  export type TObservable<Data = void> = TObservableInternal<Data>;
  export type TBehaviorSubject<Data = unknown> = TBehaviorSubjectInternal<Data>;
  export { createCustomTag } from "react-declarative-lite/utils/createCustomTag";
  import * as datetimeInternal from "react-declarative-lite/utils/datetime";
  export { waitForMove } from "react-declarative-lite/utils/waitForMove";
  export const datetime: {
    DATE_PLACEHOLDER: "DD/MM/YYYY";
    TIME_PLACEHOLDER: "HH:MM";
    DATE_EXPR: RegExp;
    TIME_EXPR: RegExp;
    Time: typeof datetimeInternal.Time;
    Date: typeof datetimeInternal.Date;
    parseDate: (date: string | null) => datetimeInternal.Date | null;
    serializeDate: (date: datetimeInternal.Date | null) => string | null;
    parseTime: (time: string | null) => datetimeInternal.Time | null;
    serializeTime: (time: datetimeInternal.Time | null) => string | null;
    currentDate: () => string;
    currentTime: () => string;
    timeStamp: (str?: string) => number;
    dateStamp: (str?: string) => number;
  };
  export { compose } from "react-declarative-lite/utils/compose";
  export {
    getMomentStamp,
    fromMomentStamp,
  } from "react-declarative-lite/utils/getMomentStamp";
  export {
    getTimeStamp,
    fromTimeStamp,
  } from "react-declarative-lite/utils/getTimeStamp";
  export { getGenesisStamp } from "react-declarative-lite/utils/getGenesisStamp";
  export {
    addUtcOffset,
    removeUtcOffset,
  } from "react-declarative-lite/utils/addUtcOffset";
}

declare module "react-declarative-lite/model/ISize" {
  import IAnything from "react-declarative-lite/model/IAnything";
  /**
   * Represents a size with height and width dimensions.
   *
   * @interface
   */
  export interface ISize {
    height: number;
    width: number;
  }
  /**
   * Type definition for a callback function that handles size and data changes.
   *
   * @template Data - The type of data being passed to the callback function.
   * @param data - The data being passed to the callback function.
   * @param size - The size information.
   * @param ref - The reference to the HTML div element.
   * @returns A string representing the result of the callback function.
   */
  export type ISizeCallback<Data = IAnything> = (
    data: Data,
    size: ISize,
    ref: HTMLDivElement,
  ) => string;
  export default ISize;
}

declare module "react-declarative-lite/model/TypedField" {
  import IManaged, {
    IManagedShallow,
  } from "react-declarative-lite/model/IManaged";
  import IEntity from "react-declarative-lite/model/IEntity";
  import FieldType from "react-declarative-lite/model/FieldType";
  import IAnything from "react-declarative-lite/model/IAnything";
  /**
   * Компоновки
   */
  import { IFragmentLayoutProps } from "react-declarative-lite/components/One/layouts/FragmentLayout";
  import { IDivLayoutProps } from "react-declarative-lite/components/One/layouts/DivLayout";
  import { IBoxLayoutProps } from "react-declarative-lite/components/One/layouts/BoxLayout";
  import { ITabsLayoutProps } from "react-declarative-lite/components/One/layouts/TabsLayout";
  import { ICenterLayoutProps } from "react-declarative-lite/components/One/layouts/CenterLayout";
  import { IStretchLayoutProps } from "react-declarative-lite/components/One/layouts/StretchLayout";
  import { IGroupLayoutProps } from "react-declarative-lite/components/One/layouts/GroupLayout";
  import { IOutlineLayoutProps } from "react-declarative-lite/components/One/layouts/OutlineLayout";
  import { IPaperLayoutProps } from "react-declarative-lite/components/One/layouts/PaperLayout";
  import { IExpansionLayoutProps } from "react-declarative-lite/components/One/layouts/ExpansionLayout";
  import { IHeroLayoutProps } from "react-declarative-lite/components/One/layouts/HeroLayout";
  import { IConditionLayoutProps } from "react-declarative-lite/components/One/layouts/ConditionLayout";
  import { ICustomLayoutProps } from "react-declarative-lite/components/One/layouts/CustomLayout";
  /**
   * Поля ввода
   */
  import { ICheckboxFieldProps } from "react-declarative-lite/components/One/fields/CheckboxField";
  import { IIconFieldProps } from "react-declarative-lite/components/One/fields/IconField";
  import { IButtonFieldProps } from "react-declarative-lite/components/One/fields/ButtonField";
  import { IFileFieldProps } from "react-declarative-lite/components/One/fields/FileField";
  import { IComboFieldProps } from "react-declarative-lite/components/One/fields/ComboField";
  import { IComponentFieldProps } from "react-declarative-lite/components/One/fields/ComponentField";
  import { IItemsFieldProps } from "react-declarative-lite/components/One/fields/ItemsField";
  import { ILineFieldProps } from "react-declarative-lite/components/One/fields/LineField";
  import { IProgressFieldProps } from "react-declarative-lite/components/One/fields/ProgressField";
  import { IRadioFieldProps } from "react-declarative-lite/components/One/fields/RadioField";
  import { IRatingFieldProps } from "react-declarative-lite/components/One/fields/RatingField";
  import { ISliderFieldProps } from "react-declarative-lite/components/One/fields/SliderField";
  import { ISwitchFieldProps } from "react-declarative-lite/components/One/fields/SwitchField";
  import { ITextFieldProps } from "react-declarative-lite/components/One/fields/TextField";
  import { IDateFieldProps } from "react-declarative-lite/components/One/fields/DateField";
  import { ITimeFieldProps } from "react-declarative-lite/components/One/fields/TimeField";
  import { ICompleteFieldProps } from "react-declarative-lite/components/One/fields/CompleteField";
  import { ITypographyFieldProps } from "react-declarative-lite/components/One/fields/TypographyField";
  import { IChooseFieldProps } from "react-declarative-lite/components/One/fields/ChooseField";
  import { IYesNoFieldProps } from "react-declarative-lite/components/One/fields/YesNoField";
  import { IInitFieldProps } from "react-declarative-lite/components/One/fields/InitField";
  import { IDictFieldProps } from "react-declarative-lite/components/One/fields/DictField";
  import { ITreeFieldProps } from "react-declarative-lite/components/One/fields/TreeField";
  /**
   * Исключения из правила
   */
  import { IPhonyField } from "react-declarative-lite/model/IPhonyField";
  /**
   * Represents a class that excludes certain properties from a given type.
   *
   * @template Data - The type of data for the managed object.
   * @template Payload - The type of payload for the managed object.
   * @type Exclude<Data, Payload>
   */
  type Exclude<Data = IAnything, Payload = IAnything> = Omit<
    IManaged<Data, Payload>,
    keyof IEntity<Data, Payload>
  >;
  /**
   * A factory class for creating typed fields.
   *
   * @template Type - The type of field.
   * @template Fields - The interface for the fields.
   * @template Data - The type of data.
   * @template Payload - The type of payload.
   */
  type TypedFieldFactory<
    Type extends FieldType,
    Fields extends {},
    Data = IAnything,
    Payload = IAnything,
  > = {
    [Prop in keyof Omit<Fields, keyof Exclude<Data, Payload>>]?: Fields[Prop];
  } & {
    type: Type;
  };
  /**
   * Represents a factory for creating typed fields with a shallow data structure.
   *
   * @template Type - The type of the field.
   * @template Fields - The field definitions.
   * @template Data - The data type.
   * @template Payload - The payload type.
   *
   * @typedef TypedFieldFactoryShallow
   * @property Type - The type of the field.
   * @property Fields - The field definitions.
   * @property Data - The data type.
   * @property Payload - The payload type.
   */
  type TypedFieldFactoryShallow<
    Type extends FieldType,
    Fields extends {},
    Data = IAnything,
    Payload = IAnything,
  > = IManagedShallow<Data, Payload> &
    TypedFieldFactory<Type, Fields, Data, Payload>;
  type Group<Data = IAnything, Payload = IAnything> = TypedFieldFactory<
    FieldType.Group,
    IGroupLayoutProps<Data, Payload>,
    Data,
    Payload
  >;
  type Custom<Data = IAnything, Payload = IAnything> = TypedFieldFactory<
    FieldType.Layout,
    ICustomLayoutProps<Data, Payload>,
    Data,
    Payload
  >;
  type Paper<Data = IAnything, Payload = IAnything> = TypedFieldFactory<
    FieldType.Paper,
    IPaperLayoutProps<Data, Payload>,
    Data,
    Payload
  >;
  type Outline<Data = IAnything, Payload = IAnything> = TypedFieldFactory<
    FieldType.Outline,
    IOutlineLayoutProps<Data, Payload>,
    Data,
    Payload
  >;
  type Expansion<Data = IAnything, Payload = IAnything> = TypedFieldFactory<
    FieldType.Expansion,
    IExpansionLayoutProps<Data, Payload>,
    Data,
    Payload
  >;
  type Fragment<Data = IAnything, Payload = IAnything> = TypedFieldFactory<
    FieldType.Fragment,
    IFragmentLayoutProps<Data, Payload>,
    Data,
    Payload
  >;
  type Div<Data = IAnything, Payload = IAnything> = TypedFieldFactory<
    FieldType.Div,
    IDivLayoutProps<Data, Payload>,
    Data,
    Payload
  >;
  type Box<Data = IAnything, Payload = IAnything> = TypedFieldFactory<
    FieldType.Box,
    IBoxLayoutProps<Data, Payload>,
    Data,
    Payload
  >;
  type Tabs<Data = IAnything, Payload = IAnything> = TypedFieldFactory<
    FieldType.Tabs,
    ITabsLayoutProps<Data, Payload>,
    Data,
    Payload
  >;
  type Hero<Data = IAnything, Payload = IAnything> = TypedFieldFactory<
    FieldType.Hero,
    IHeroLayoutProps<Data, Payload>,
    Data,
    Payload
  >;
  type Center<Data = IAnything, Payload = IAnything> = TypedFieldFactory<
    FieldType.Center,
    ICenterLayoutProps<Data, Payload>,
    Data,
    Payload
  >;
  type Stretch<Data = IAnything, Payload = IAnything> = TypedFieldFactory<
    FieldType.Stretch,
    IStretchLayoutProps<Data, Payload>,
    Data,
    Payload
  >;
  type Condition<Data = IAnything, Payload = IAnything> = TypedFieldFactory<
    FieldType.Condition,
    IConditionLayoutProps<Data, Payload>,
    Data,
    Payload
  >;
  type Line<Data = IAnything, Payload = IAnything> = TypedFieldFactory<
    FieldType.Line,
    ILineFieldProps<Data, Payload>,
    Data,
    Payload
  >;
  type Checkbox<
    Data = IAnything,
    Payload = IAnything,
  > = TypedFieldFactoryShallow<
    FieldType.Checkbox,
    ICheckboxFieldProps<Data, Payload>,
    Data,
    Payload
  >;
  type Icon<Data = IAnything, Payload = IAnything> = TypedFieldFactoryShallow<
    FieldType.Icon,
    IIconFieldProps<Data, Payload>,
    Data,
    Payload
  >;
  type Button<Data = IAnything, Payload = IAnything> = TypedFieldFactoryShallow<
    FieldType.Button,
    IButtonFieldProps<Data, Payload>,
    Data,
    Payload
  >;
  type Combo<Data = IAnything, Payload = IAnything> = TypedFieldFactoryShallow<
    FieldType.Combo,
    IComboFieldProps<Data, Payload>,
    Data,
    Payload
  >;
  type Component<
    Data = IAnything,
    Payload = IAnything,
  > = TypedFieldFactoryShallow<
    FieldType.Component,
    IComponentFieldProps<Data, Payload>,
    Data,
    Payload
  >;
  type Items<Data = IAnything, Payload = IAnything> = TypedFieldFactoryShallow<
    FieldType.Items,
    IItemsFieldProps<Data, Payload>,
    Data,
    Payload
  >;
  type Progress<
    Data = IAnything,
    Payload = IAnything,
  > = TypedFieldFactoryShallow<
    FieldType.Progress,
    IProgressFieldProps<Data, Payload>,
    Data,
    Payload
  >;
  type Radio<Data = IAnything, Payload = IAnything> = TypedFieldFactoryShallow<
    FieldType.Radio,
    IRadioFieldProps<Data, Payload>,
    Data,
    Payload
  >;
  type Rating<Data = IAnything, Payload = IAnything> = TypedFieldFactoryShallow<
    FieldType.Rating,
    IRatingFieldProps<Data, Payload>,
    Data,
    Payload
  >;
  type Slider<Data = IAnything, Payload = IAnything> = TypedFieldFactoryShallow<
    FieldType.Slider,
    ISliderFieldProps<Data, Payload>,
    Data,
    Payload
  >;
  type Switch<Data = IAnything, Payload = IAnything> = TypedFieldFactoryShallow<
    FieldType.Switch,
    ISwitchFieldProps<Data, Payload>,
    Data,
    Payload
  >;
  type Text<Data = IAnything, Payload = IAnything> = TypedFieldFactoryShallow<
    FieldType.Text,
    ITextFieldProps<Data, Payload>,
    Data,
    Payload
  >;
  type File<Data = IAnything, Payload = IAnything> = TypedFieldFactoryShallow<
    FieldType.File,
    IFileFieldProps<Data, Payload>,
    Data,
    Payload
  >;
  type Choose<Data = IAnything, Payload = IAnything> = TypedFieldFactoryShallow<
    FieldType.Choose,
    IChooseFieldProps<Data, Payload>,
    Data,
    Payload
  >;
  type YesNo<Data = IAnything, Payload = IAnything> = TypedFieldFactoryShallow<
    FieldType.YesNo,
    IYesNoFieldProps<Data, Payload>,
    Data,
    Payload
  >;
  type Init<Data = IAnything, Payload = IAnything> = TypedFieldFactoryShallow<
    FieldType.Init,
    IInitFieldProps,
    Data,
    Payload
  >;
  type Phony<Data = IAnything, Payload = IAnything> = TypedFieldFactoryShallow<
    FieldType.Phony,
    IPhonyField,
    Data,
    Payload
  >;
  type Dict<Data = IAnything, Payload = IAnything> = TypedFieldFactoryShallow<
    FieldType.Dict,
    IDictFieldProps,
    Data,
    Payload
  >;
  type Tree<Data = IAnything, Payload = IAnything> = TypedFieldFactoryShallow<
    FieldType.Tree,
    ITreeFieldProps,
    Data,
    Payload
  >;
  type Date<Data = IAnything, Payload = IAnything> = TypedFieldFactoryShallow<
    FieldType.Date,
    IDateFieldProps<Data, Payload>,
    Data,
    Payload
  >;
  type Time<Data = IAnything, Payload = IAnything> = TypedFieldFactoryShallow<
    FieldType.Time,
    ITimeFieldProps<Data, Payload>,
    Data,
    Payload
  >;
  type Complete<
    Data = IAnything,
    Payload = IAnything,
  > = TypedFieldFactoryShallow<
    FieldType.Complete,
    ICompleteFieldProps<Data, Payload>,
    Data,
    Payload
  >;
  type Typography<
    Data = IAnything,
    Payload = IAnything,
  > = TypedFieldFactoryShallow<
    FieldType.Typography,
    ITypographyFieldProps<Data, Payload>,
    Data,
    Payload
  >;
  /**
   * Логическое ветвление компонентов
   * Typescript type-guard
   */
  export type TypedFieldRegistry<
    Data = IAnything,
    Payload = IAnything,
    Target = any,
  > =
    Target extends Expansion<Data, Payload>
      ? Expansion<Data, Payload>
      : Target extends Group<Data, Payload>
        ? Group<Data, Payload>
        : Target extends Paper<Data, Payload>
          ? Paper<Data, Payload>
          : Target extends Outline<Data, Payload>
            ? Outline<Data, Payload>
            : Target extends Checkbox<Data, Payload>
              ? Checkbox<Data, Payload>
              : Target extends Button<Data, Payload>
                ? Button<Data, Payload>
                : Target extends Icon<Data, Payload>
                  ? Icon<Data, Payload>
                  : Target extends Combo<Data, Payload>
                    ? Combo<Data, Payload>
                    : Target extends Component<Data, Payload>
                      ? Component<Data, Payload>
                      : Target extends Items<Data, Payload>
                        ? Items<Data, Payload>
                        : Target extends Line<Data, Payload>
                          ? Line<Data, Payload>
                          : Target extends Progress<Data, Payload>
                            ? Progress<Data, Payload>
                            : Target extends Radio<Data, Payload>
                              ? Radio<Data, Payload>
                              : Target extends Rating<Data, Payload>
                                ? Rating<Data, Payload>
                                : Target extends Slider<Data, Payload>
                                  ? Slider<Data, Payload>
                                  : Target extends Switch<Data, Payload>
                                    ? Switch<Data, Payload>
                                    : Target extends Text<Data, Payload>
                                      ? Text<Data, Payload>
                                      : Target extends File<Data, Payload>
                                        ? File<Data, Payload>
                                        : Target extends Choose<Data, Payload>
                                          ? Choose<Data, Payload>
                                          : Target extends YesNo<Data, Payload>
                                            ? YesNo<Data, Payload>
                                            : Target extends Date<Data, Payload>
                                              ? Date<Data, Payload>
                                              : Target extends Time<
                                                    Data,
                                                    Payload
                                                  >
                                                ? Time<Data, Payload>
                                                : Target extends Complete<
                                                      Data,
                                                      Payload
                                                    >
                                                  ? Complete<Data, Payload>
                                                  : Target extends Typography<
                                                        Data,
                                                        Payload
                                                      >
                                                    ? Typography<Data, Payload>
                                                    : Target extends Fragment<
                                                          Data,
                                                          Payload
                                                        >
                                                      ? Fragment<Data, Payload>
                                                      : Target extends Div<
                                                            Data,
                                                            Payload
                                                          >
                                                        ? Div<Data, Payload>
                                                        : Target extends Custom<
                                                              Data,
                                                              Payload
                                                            >
                                                          ? Custom<
                                                              Data,
                                                              Payload
                                                            >
                                                          : Target extends Box<
                                                                Data,
                                                                Payload
                                                              >
                                                            ? Box<Data, Payload>
                                                            : Target extends Tabs<
                                                                  Data,
                                                                  Payload
                                                                >
                                                              ? Tabs<
                                                                  Data,
                                                                  Payload
                                                                >
                                                              : Target extends Center<
                                                                    Data,
                                                                    Payload
                                                                  >
                                                                ? Center<
                                                                    Data,
                                                                    Payload
                                                                  >
                                                                : Target extends Stretch<
                                                                      Data,
                                                                      Payload
                                                                    >
                                                                  ? Stretch<
                                                                      Data,
                                                                      Payload
                                                                    >
                                                                  : Target extends Hero<
                                                                        Data,
                                                                        Payload
                                                                      >
                                                                    ? Hero<
                                                                        Data,
                                                                        Payload
                                                                      >
                                                                    : Target extends Condition<
                                                                          Data,
                                                                          Payload
                                                                        >
                                                                      ? Condition<
                                                                          Data,
                                                                          Payload
                                                                        >
                                                                      : Target extends Init<
                                                                            Data,
                                                                            Payload
                                                                          >
                                                                        ? Init<
                                                                            Data,
                                                                            Payload
                                                                          >
                                                                        : Target extends Phony<
                                                                              Data,
                                                                              Payload
                                                                            >
                                                                          ? Phony<
                                                                              Data,
                                                                              Payload
                                                                            >
                                                                          : Target extends Dict<
                                                                                Data,
                                                                                Payload
                                                                              >
                                                                            ? Dict<
                                                                                Data,
                                                                                Payload
                                                                              >
                                                                            : Target extends Tree<
                                                                                  Data,
                                                                                  Payload
                                                                                >
                                                                              ? Tree<
                                                                                  Data,
                                                                                  Payload
                                                                                >
                                                                              : never;
  /**
   * IOneProps - генерик, для прикладного программиста мы можем подменить IField
   * на TypedField.  Это  позволит  автоматически  выбрать  интерфейс  props для
   * IntelliSense после указания *type* или методом исключения
   */
  export type TypedField<
    Data = IAnything,
    Payload = IAnything,
  > = TypedFieldRegistry<Data, Payload> & {
    name?: string;
    fields?: TypedField<Data, Payload>[];
    child?: TypedField<Data, Payload>;
  };
  export default TypedField;
}

declare module "react-declarative-lite/model/IValidation" {
  /**
   * Interface representing validation options for a form field.
   * @interface
   * @property [required] - Indicates if the field is required or not.
   * @property [minLength] - Minimum length required for the field value.
   * @property [maxLength] - Maximum length allowed for the field value.
   * @property [pattern] - Regular expression pattern for validating the field value.
   */
  export interface IValidation {
    required?: boolean;
    numeric?: boolean;
    minLength?: number;
    maxLength?: number;
    minNum?: number;
    maxNum?: number;
    pattern?: RegExp;
    date?: boolean;
    time?: boolean;
  }
  export default IValidation;
}

declare module "react-declarative-lite/model/IInvalidField" {
  import IAnything from "react-declarative-lite/model/IAnything";
  import IField from "react-declarative-lite/model/IField";
  export interface IInvalidField<Data = IAnything, Payload = IAnything> {
    field: IField<Data, Payload>;
    title: IField<Data, Payload>["title"];
    name: IField<Data, Payload>["name"];
    error: string;
  }
  export default IInvalidField;
}

declare module "react-declarative-lite/model/IField" {
  import * as React from "react";
  import { SxProps } from "@mui/material";
  import type ComponentFieldInstance from "react-declarative-lite/model/ComponentFieldInstance";
  import type { IDebug } from "react-declarative-lite/model/ComponentFieldInstance";
  import { ISizeCallback } from "react-declarative-lite/model/ISize";
  import FieldType from "react-declarative-lite/model/FieldType";
  import IAnything from "react-declarative-lite/model/IAnything";
  import ISearchItem from "react-declarative-lite/components/SearchView/model/ISearchItem";
  import ISearchViewProps from "react-declarative-lite/components/SearchView/model/ISearchViewProps";
  import IFieldMenu from "react-declarative-lite/model/IFieldMenu";
  import ITreeNode from "react-declarative-lite/model/ITreeNode";
  import IValidation from "react-declarative-lite/model/IValidation";
  /**
   * Represents any possible variable value of <One /> component field.
   *
   * @typedef Value - Represents a value in JavaScript.
   */
  export type Value = string | string[] | number | boolean | null;
  /**
   * Объект поля для прикладного программиста
   */
  export interface IField<Data = IAnything, Payload = IAnything> {
    /**
     * Иконка для FieldType.Button и FieldType.Icon
     */
    icon?: React.ComponentType<any>;
    /**
     * Размер иконки для FieldType.Icon
     */
    iconSize?: number;
    /**
     * Цвет иконки для FieldType.Icon
     */
    iconColor?:
      | "inherit"
      | "default"
      | "primary"
      | "secondary"
      | "error"
      | "info"
      | "success"
      | "warning";
    /**
     * Цвет фона иконки для FieldType.Icon
     */
    iconBackground?:
      | "inherit"
      | "primary"
      | "secondary"
      | "success"
      | "error"
      | "info"
      | "warning";
    /**
     * Тип заливки кнопки для FieldType.Button
     */
    buttonVariant?: "text" | "outlined" | "contained";
    /**
     * Тип размера кнопки для FieldType.Button
     */
    buttonSize?: "small" | "medium" | "large";
    /**
     * Тип цвета кнопки для FieldType.Button
     */
    buttonColor?:
      | "inherit"
      | "primary"
      | "secondary"
      | "success"
      | "error"
      | "info"
      | "warning";
    /**
     * Отменяет ожидание фокуса для валидации
     */
    dirty?: boolean;
    /**
     * Параметры фабрики для создания коллбека isInvalid
     */
    validation?: IValidation;
    /**
     * Атрибут, который будет передат в data-testid
     * корневому элементу компоновки
     */
    testId?: string;
    /**
     * Общие поля. Поле name позволяет задать забор
     * поля из целевого объекта, не нужен для group,
     * expansion и line.
     */
    name?: string;
    /**
     * Коллбек для отладки
     */
    debug?: (params: IDebug<Data, Payload>) => void;
    /**
     * Позволяет создать контекстное меню
     */
    menuItems?: IFieldMenu[];
    /**
     * Флаг, убирающий поле из древа отрисовки. Следует использовать для
     * создания динамических значений полей компонента
     */
    hidden?: boolean | ((payload: Payload) => boolean);
    /**
     * Исключает группу из DOM древа на телефоне
     */
    phoneHidden?: boolean | ((payload: Payload) => boolean);
    /**
     * Исключает группу из DOM древа на планшете
     */
    tabletHidden?: boolean | ((payload: Payload) => boolean);
    /**
     * Исключает группу из DOM древа на компьютере
     */
    desktopHidden?: boolean | ((payload: Payload) => boolean);
    /**
     * Список бизнес-функций, необходимых для отображения поля
     */
    features?: string[];
    /**
     * Отключает нижний baseline для текущей компоновки
     */
    noBaseline?: boolean;
    /**
     * Принудительно включает нижний baseline для текущей компоновки
     */
    baseline?: boolean;
    /**
     * Флаг, удерживающий подпись текстового поля при пустом
     * значении
     */
    labelShrink?: boolean;
    /**
     * Коллбеки, вызываемый при фокусировке и потере фокуса.
     * Подразумевается изменение формы со стороны прикладного
     * программиста, а не работа с полем ввода
     * (например, обновление ссылки на изображение)
     */
    focus?: (
      name: string,
      data: Data,
      payload: Payload,
      onValueChange: (value: Value) => void,
      onChange: (data: Data) => void,
    ) => void;
    blur?: (
      name: string,
      data: Data,
      payload: Payload,
      onValueChange: (value: Value) => void,
      onChange: (data: Data) => void,
    ) => void;
    /**
     * Коллбек для обработки клика по элементу контекстного меню
     */
    menu?: (
      name: string,
      action: string,
      data: Data,
      payload: Payload,
      onValueChange: (value: Value) => void,
      onChange: (data: Data) => void,
    ) => void;
    /**
     * Перехват клика по полю, следует использовать для копирования значения
     * у карточек просмотра без редактирования
     */
    click?: (
      name: string,
      e: React.MouseEvent<HTMLElement>,
      data: Data,
      payload: Payload,
      onValueChange: (value: Value) => void,
      onChange: (data: Data) => void,
    ) => void | Promise<void>;
    /**
     * Флаг только на чтение и "круглой окаймовки"
     */
    readonly?: boolean;
    outlined?: boolean;
    /**
     * Передает ссылку при перерисовках
     */
    groupRef?: (element?: HTMLDivElement | null) => void;
    inputRef?: (element?: HTMLInputElement | null) => void;
    /**
     * Автофокус и постоянное отключение поля
     */
    autoFocus?: boolean;
    disabled?: boolean;
    /**
     * Поле, специфичное для RadioField и позволяющее
     * задать значение при выборе элемента кликом
     */
    radioValue?: string;
    /**
     * Отключает цвет для Switch
     */
    switchNoColor?: boolean;
    /**
     * Применяет к Switch второй title
     */
    switchActiveLabel?: string;
    /**
     * Поле type для MatTextField
     */
    inputType?: keyof {
      text: never;
      color: never;
      date: never;
      email: never;
      month: never;
      number: never;
      password: never;
      search: never;
      tel: never;
      time: never;
      url: never;
      week: never;
    };
    /**
     * Паттерн для MatTextField
     * (inputmode: 'decimal' и pattern: '[0-9.,]+' добавят запятую на iOS клавиатуре)
     */
    inputPattern?: string;
    /**
     * Поле inputmode для MatTextField
     */
    inputMode?: keyof {
      none: never;
      text: never;
      tel: never;
      url: never;
      email: never;
      numeric: never;
      decimal: never;
      search: never;
    };
    /**
     * Форматтер, преобразующий пользовательский
     * ввод к нужному шаблону
     */
    inputFormatter?: (input: string) => string;
    /**
     * Шаблонов для форматтера
     */
    inputFormatterTemplate?: string;
    /**
     * Разделитель шаблона форматтера,
     * по дефолту 0
     */
    inputFormatterSymbol?: string;
    /**
     * Разрешенные к вводу символы
     */
    inputFormatterAllowed?: RegExp | ((char: string, idx: number) => boolean);
    /**
     * Замена символов для форматерра, например
     * запятую на точку в числе
     */
    inputFormatterReplace?: (char: string) => string | null;
    inputAutocomplete?: keyof {
      "new-password": never;
      on: never;
      off: never;
      false: never;
    };
    /**
     * Список вкладок для TabLayout
     */
    tabList?: string[];
    /**
     * Номер активной вкладки по-умолчанию
     */
    tabIndex?: number;
    /**
     * Вариант вывода вкладок для TabLayout
     */
    tabVariant?: "fullWidth" | "standard" | "scrollable";
    /**
     * Цвет вкладок для TabLayout
     */
    tabColor?: "primary" | "secondary";
    /**
     * Позволяет содержимому растягивать высоту блока
     * у TabLayout
     */
    tabKeepFlow?: boolean;
    /**
     * Событие изменения вкладки
     */
    tabChange?: (idx: number) => void;
    /**
     * Отделяет табы отчерком у TabLayout
     */
    tabLine?: boolean;
    /**
     * Закрашивает фон TabLayout в темный цвет
     */
    tabBackground?: boolean;
    /**
     * Делает TextField многострочным, если
     * inputRows больше единицы
     */
    inputRows?: number;
    /**
     * Ripple эффект для иконок
     */
    leadingIconRipple?: boolean;
    trailingIconRipple?: boolean;
    /**
     * Иконки для MatTextField
     */
    leadingIcon?: React.ComponentType<any>;
    trailingIcon?: React.ComponentType<any>;
    /**
     * При клике на иконку мы можем запросить данные из модального
     * окна, расположенного в коде прикладного программиста. Коллбек
     * получает на вход текущее значение поля и функцию onChange...
     */
    leadingIconClick?: (
      value: Value,
      data: Data,
      payload: Payload,
      onValueChange: (v: Value) => void,
      onChange: (data: Data) => void,
    ) => void;
    trailingIconClick?: (
      value: Value,
      data: Data,
      payload: Payload,
      onValueChange: (v: Value) => void,
      onChange: (data: Data) => void,
    ) => void;
    /**
     * Если нужно убрать фокус после нажатия tab
     */
    leadingIconTabIndex?: number;
    trailingIconTabIndex?: number;
    /**
     * Максимальное число для высчитывания процента
     * (минимальное число всегда ноль)
     */
    maxPercent?: number;
    /**
     * Отключает отчерк у линии
     */
    lineTransparent?: boolean;
    /**
     * Показывает процент числом слева
     */
    showPercentLabel?: boolean;
    /**
     * Внутренние отступы для Paper
     */
    innerPadding?: string;
    /**
     * Превращает FieldType.Paper в FieldType.Outline
     */
    outlinePaper?: boolean;
    transparentPaper?: boolean;
    /**
     * - Коллбеки, позволяющий перекрасить SliderField.
     * Работают только если заданы все вместе
     * - ВНИМАНИЕ! Потенциально возможна просадка производительности,
     * так как осуществляет рекомпиляцию стилей material-ui
     */
    sliderThumbColor?: (v: number) => string;
    sliderTrackColor?: (v: number) => string;
    sliderRailColor?: (v: number) => string;
    /**
     *  - Коллбеки, позволяющие перекрасить ProgressField.
     * Работают только если заданы все вместе
     *  - ВНИМАНИЕ! Потенциально возможна просадка производительности,
     * так как осуществляет рекомпиляцию стилей material-ui
     */
    progressColor?: (v: number) => string;
    progressBarColor?: (v: number) => string;
    /**
     * Поля, специфичные для SliderField
     */
    minSlider?: number;
    maxSlider?: number;
    stepSlider?: number;
    labelFormatSlider?: (v: number) => string | number;
    /**
     * Подсказки для CompleteField
     */
    tip?:
      | string[]
      | ((
          value: string,
          data: Data,
          payload: Payload,
        ) => string[] | Promise<string[]>);
    /**
     * Коллбек выбора элемента из CompleteField
     */
    tipSelect?: (
      value: string,
      data: Data,
      payload: Payload,
      onChange: (data: Data) => void,
    ) => void;
    /**
     * Поле, позволяющее передавать собственные значения в FieldType.Items и FieldType.Combo
     */
    freeSolo?: boolean;
    /**
     * Позволяет включить виртуализацию для FieldType.List и FieldType.Combo
     */
    virtualListBox?: boolean;
    /**
     * Варианты выбора для ComboField и ItemsField
     */
    itemList?:
      | string[]
      | ((data: Data, payload: Payload) => string[])
      | ((data: Data, payload: Payload) => Promise<string[]>);
    /**
     * Вариант выбора для TreeField
     */
    itemTree?:
      | ITreeNode[]
      | ((data: Data, payload: Payload) => ITreeNode[])
      | ((data: Data, payload: Payload) => Promise<ITreeNode[]>);
    /**
     * Отключает возможность сброса выбора значения для Items и Combo
     */
    noDeselect?: boolean;
    /**
     * Включает change-detection для выпадающих меню. По умолчанию выключено
     */
    watchItemList?: boolean;
    /**
     * Включает change-detection для выпадающих меню. По умолчанию выключено
     */
    watchItemTree?: boolean;
    /**
     * Включает change-detection для поля компонента. По умолчанию выключено
     */
    watchOneContext?: boolean;
    /**
     * Позволяет мемоизировать вызов compute
     */
    shouldRecompute?: (
      prevData: Data,
      nextData: Data,
      payload: Payload,
    ) => boolean;
    /**
     * Позволяет мемоизировать перевод
     */
    shouldUpdateTr?: (
      prevArgs: [string, Data],
      currentArgs: [string, Data],
      payload: Payload,
    ) => boolean;
    /**
     * Позволяет мемоизировать список элементов
     */
    shouldUpdateItemList?: (
      prevData: Data,
      currentData: Data,
      payload: Payload,
    ) => boolean;
    /**
     * Позволяет перевести значения у ComboField и ItemsField
     * из поле itemList на человеческий, если
     * используются константы
     */
    tr?:
      | ((s: string, data: Data, payload: Payload) => string)
      | ((s: string, data: Data, payload: Payload) => Promise<string>);
    /**
     * Отключает fulltext фильтр для FieldType.Complete
     */
    keepRaw?: boolean;
    /**
     * Тип поля для логического ветвления при рендеринге
     */
    type: FieldType;
    /**
     * Наименование класса для корневого элемента поля (опционально)
     */
    className?: string;
    /**
     * Стиль корневого элемента для поля (опционально)
     */
    style?: React.CSSProperties;
    /**
     * Заголовок и описание, если возможен вывод у поля
     */
    title?: string;
    description?: string;
    /**
     * placeholder для TextField, ComboField, ItemsField
     */
    placeholder?: string;
    /**
     * Колонки для One. Не используются в List (кроме фильтров).
     * Если указано поле columns, то остальные приравниваются к
     * его значению
     */
    columns?: string;
    phoneColumns?: string;
    tabletColumns?: string;
    desktopColumns?: string;
    /**
     * Специальное поле только для MUI
     */
    sx?: SxProps<any>;
    /**
     * Произвольное количество колонок в строке
     */
    columnsOverride?: string;
    /**
     * Дочерние поля для групп
     */
    fields?: IField<Data>[];
    child?: IField<Data>;
    /**
     * Функция, позволяющая организовать валидацию. Если
     * возвращаемое значение не равно null, считается за
     * ошибкую
     */
    isInvalid?: (v: Data, payload: Payload) => null | string;
    /**
     * Функция, позволяющая огранизовать неблокирующую валидацию. Проверка
     * правописания (spellcheck) должен быть отображен в UI, но не должен
     * блокировать кнопку "Сохранить"
     */
    isIncorrect?: (v: Data, payload: Payload) => null | string;
    /**
     * Функция, позволяющая скрыть поле, исходя из целевого
     * объекта
     */
    isVisible?: (v: Data, payload: Payload) => boolean;
    /**
     * Функция, позволяющая отключить поле, исходя из целевого
     * объекта
     */
    isDisabled?: (v: Data, payload: Payload) => boolean;
    /**
     * Функция, позволяющая отключить ввод данных в поле, исходя из целевого
     * объекта
     */
    isReadonly?: (v: Data, payload: Payload) => boolean;
    /**
     * Функция, применяемая если значение поля вычисляется динамически.
     * Включает readonly.
     */
    compute?: (v: Data, payload: Payload) => Promise<Value> | Value;
    /**
     * Инъекция JSX для ComponentField
     */
    element?: React.ComponentType<ComponentFieldInstance<Data, Payload>>;
    /**
     * Коллбек, вызываемый у поля при не прохождении
     * валидации
     */
    invalidity?: (name: string, e: string, payload: Payload) => void;
    /**
     * Коллбек для 2Way биндингов. Вызывается если поле валидно
     * перед применением нового целевого объекта при исходящем изменении
     */
    map?: (data: Data, payload: Payload) => Data;
    /**
     * Значение по-умолчанию для поля
     */
    defaultValue?: Value | ((payload: Payload) => Value);
    /**
     * Позволяет задать limit для поля справочника
     */
    dictLimit?: number;
    /**
     * Позволяет задать задержку для api запросов поля справочника
     */
    dictDelay?: number;
    /**
     * Обработчик запроса справочника. Если число объектов
     * меньше dictLimit, подразумевается, что все данные выгружены
     * на фронт и новые запросы не выполняются
     */
    dictSearch?: (dto: {
      search: string;
      limit: number;
      offset: number;
      initial: boolean;
      rows: ISearchItem[];
      data: Data;
      payload: Payload;
    }) => ISearchItem[] | Promise<ISearchItem[]>;
    /**
     * Поле справочника позволяет создавать новые записи, если
     * поиск не дал результата
     */
    dictOnAppend?: (
      search: string,
      data: Data,
      payload: Payload,
      onValueChange: (value: string | null) => void,
      onChange: (value: Data) => void,
    ) => void;
    /**
     * Функция вызывается на каждое изменение текста. Подразумевается
     * запись в целевой объект. Для контекстного поиска по label, value можно записать в другое поле
     */
    dictOnText?: (
      text: string,
      data: Data,
      payload: Payload,
      onValueChange: (value: string | null) => void,
      onChange: (data: Data) => void,
    ) => void;
    /**
     * Функция вызывается на каждый выбор из модалки. Подразумевается
     * запись в целевой объект. Для контекстного поиска по label, value можно записать в другое поле
     */
    dictOnItem?: (
      value: string | null,
      data: Data,
      payload: Payload,
      onValueChange: (value: string | null) => void,
      onChange: (data: Data) => void,
    ) => void;
    /**
     * Функция позволяет загрузить label для выбранного элемента асинхронно
     */
    dictValue?: (
      value: string,
      data: Data,
      payload: Payload,
    ) => ISearchItem | Promise<ISearchItem>;
    /**
     * Функция позволяет загрузить searchText для выбранного элемента асинхронно
     */
    dictSearchText?: (data: Data, payload: Payload) => string | Promise<string>;
    /**
     * Функция позволяет переопределить компонент элемента списка
     * из модалки
     */
    dictSearchItem?: ISearchViewProps["SearchItem"];
    /**
     * Функция позволяет переопределить компонент создание записи
     * в словарь из модалки
     */
    dictCreateButton?: ISearchViewProps["CreateButton"];
    /**
     * Позволяет выключить отступ. Можно использовать по аналогии
     * с исключением последней запятой при склеивании массива
     * руками, если раздражает
     */
    fieldRightMargin?: string;
    fieldBottomMargin?: string;
    /**
     * Шрифт для поля Typography
     */
    typoVariant?: keyof {
      h1: "h1";
      h2: "h2";
      h3: "h3";
      h4: "h4";
      h5: "h5";
      h6: "h6";
      subtitle1: "subtitle1";
      subtitle2: "subtitle2";
      body1: "body1";
      body2: "body2";
      caption: "caption";
    };
    /**
     * Поле для ExpansionLayout
     */
    expansionOpened?: boolean;
    /**
     * Коллбек, позволяющий применить собственную компоновку
     */
    customLayout?: (
      props: React.PropsWithChildren<
        Data & {
          onChange: (data: Partial<Data>) => void;
          _fieldData: Data;
          _fieldParams: IField;
          _payload: Payload;
        }
      >,
    ) => React.ReactElement;
    /**
     * Предикат для компоновки Condition
     */
    condition?:
      | ((data: Data, payload: Payload) => boolean)
      | ((data: Data, payload: Payload) => Promise<boolean>);
    /**
     * Позволяет мемоизировать вызов condition
     */
    shouldCondition?: (
      prevData: Data,
      nextData: Data,
      payload: Payload,
    ) => boolean;
    /**
     * Компонент отображения загрузки condition
     */
    conditionLoading?: React.ComponentType<{
      data: Data;
      payload: Payload;
    }>;
    /**
     * Компонент отображения else для condition
     */
    conditionElse?: React.ComponentType<{
      data: Data;
      payload: Payload;
    }>;
    /**
     * mime тип выбираемого файла
     */
    fileAccept?: string;
    /**
     * Функция для загрузки файла на сервер
     */
    upload?: (
      file: File,
      data: Data,
      payload: Payload,
    ) => Promise<string> | string;
    view?: (file: string, data: Data, payload: Payload) => Promise<void> | void;
    /**
     * Функция для выбора документа из справочника
     * для useSearchModal
     */
    choose?: (
      data: Data,
      payload: Payload,
    ) => Promise<string | string[] | null> | string | string[] | null;
    /**
     * Свойства для компоновки Hero - инструмента настройки отступов
     */
    top?: string | ISizeCallback<Data>;
    phoneTop?: string | ISizeCallback<Data>;
    tabletTop?: string | ISizeCallback<Data>;
    desktopTop?: string | ISizeCallback<Data>;
    left?: string | ISizeCallback<Data>;
    phoneLeft?: string | ISizeCallback<Data>;
    tabletLeft?: string | ISizeCallback<Data>;
    desktopLeft?: string | ISizeCallback<Data>;
    right?: string | ISizeCallback<Data>;
    phoneRight?: string | ISizeCallback<Data>;
    tabletRight?: string | ISizeCallback<Data>;
    desktopRight?: string | ISizeCallback<Data>;
    bottom?: string | ISizeCallback<Data>;
    phoneBottom?: string | ISizeCallback<Data>;
    tabletBottom?: string | ISizeCallback<Data>;
    desktopBottom?: string | ISizeCallback<Data>;
    height?: string | ISizeCallback<Data>;
    phoneHeight?: string | ISizeCallback<Data>;
    tabletHeight?: string | ISizeCallback<Data>;
    desktopHeight?: string | ISizeCallback<Data>;
    minHeight?: string | ISizeCallback<Data>;
    phoneMinHeight?: string | ISizeCallback<Data>;
    tabletMinHeight?: string | ISizeCallback<Data>;
    desktopMinHeight?: string | ISizeCallback<Data>;
    maxHeight?: string | ISizeCallback<Data>;
    phoneMaxHeight?: string | ISizeCallback<Data>;
    tabletMaxHeight?: string | ISizeCallback<Data>;
    desktopMaxHeight?: string | ISizeCallback<Data>;
    width?: string | ISizeCallback<Data>;
    phoneWidth?: string | ISizeCallback<Data>;
    tabletWidth?: string | ISizeCallback<Data>;
    desktopWidth?: string | ISizeCallback<Data>;
    minWidth?: string | ISizeCallback<Data>;
    phoneMinWidth?: string | ISizeCallback<Data>;
    tabletMinWidth?: string | ISizeCallback<Data>;
    desktopMinWidth?: string | ISizeCallback<Data>;
    maxWidth?: string | ISizeCallback<Data>;
    phoneMaxWidth?: string | ISizeCallback<Data>;
    tabletMaxWidth?: string | ISizeCallback<Data>;
    desktopMaxWidth?: string | ISizeCallback<Data>;
    heroOuterStyle?: React.CSSProperties;
    heroOuterPhoneStyle?: React.CSSProperties;
    heroOuterTabletStyle?: React.CSSProperties;
    heroOuterDesktopStyle?: React.CSSProperties;
    heroInnerStyle?: React.CSSProperties;
    heroInnerPhoneStyle?: React.CSSProperties;
    heroInnerTabletStyle?: React.CSSProperties;
    heroInnerDesktopStyle?: React.CSSProperties;
  }
  export default IField;
}

declare module "react-declarative-lite/model/IEntity" {
  import IAnything from "react-declarative-lite/model/IAnything";
  import IField, { Value } from "react-declarative-lite/model/IField";
  type exclude = "defaultValue";
  /**
   * Объект сущность представляет собой поле прикладного
   * программииста, расширенное входным параметром и
   * коллбеком изменения для внутренней организации
   * работы. ВАЖНО - изменение поля влечет изменение
   * всего целевого объекта, следуя паттерну immutable
   */
  export interface IEntity<Data = IAnything, Payload = IAnything>
    extends Omit<IField<Data, Payload>, exclude> {
    readTransform?: (
      value: Value,
      name: string,
      data: Data,
      payload: Payload,
    ) => Value;
    writeTransform?: (
      value: Value,
      name: string,
      data: Data,
      payload: Payload,
    ) => Value;
    change?: (object: Data, invalidMap: Record<string, boolean>) => void;
    invalidity: (name: string, msg: string, payload: Payload) => void;
    fallback: (e: Error) => void;
    isBaselineAlign: boolean;
    outlinePaper: boolean;
    transparentPaper: boolean;
    dirty?: boolean;
    prefix: string;
    ready: () => void;
    object: Data;
  }
  export default IEntity;
}

declare module "react-declarative-lite/model/IManaged" {
  import IField from "react-declarative-lite/model/IField";
  import IEntity from "react-declarative-lite/model/IEntity";
  import IAnything from "react-declarative-lite/model/IAnything";
  export type PickProp<T extends {}, P extends keyof T> = T[P];
  export type DeepPartial<T> = {
    [P in keyof T]?: DeepPartial<T[P]>;
  };
  /**
   * Represents a layout with various properties that control its visibility, disabled state, and other features.
   *
   * @template Data - The data type used by the layout.
   * @template Payload - The payload type used by the layout.
   */
  export interface IWrappedLayout<Data = IAnything, Payload = IAnything> {
    /**
     * Идентификатор для отладки json шаблона
     */
    testId?: PickProp<IField<Data, Payload>, "testId">;
    /**
     * Represents the `isVisible` property of a field in a form.
     *
     * @typedef isVisible
     * @property isVisible - Indicates whether the field is visible or not.
     */
    isVisible?: PickProp<IField<Data, Payload>, "isVisible">;
    /**
     * Represents the `isDisabled` property of a field in a form.
     * The `isDisabled` property determines whether the field is disabled or not.
     *
     * @typedef isDisabled
     * @property [isDisabled] - Indicates whether the field is disabled.
     */
    isDisabled?: PickProp<IField<Data, Payload>, "isDisabled">;
    /**
     * Retrieves the value of the 'isReadonly' property from the given variable.
     *
     * @param variable - The variable to retrieve the property from.
     * @returns The value of the 'isReadonly' property.
     */
    isReadonly?: PickProp<IField<Data, Payload>, "isReadonly">;
    /**
     * Retrieves the 'features' property from a given variable.
     *
     * @template T - The type of the variable.
     * @template K - The property name to retrieve.
     * @param variable - The variable to extract the property from.
     * @returns - The extracted 'features' property.
     */
    features?: PickProp<IField<Data, Payload>, "features">;
    /**
     * Represents the `disabled` property of a field.
     *
     * @typedef Disabled
     */
    disabled?: PickProp<IField<Data, Payload>, "disabled">;
    /**
     * Represents the `phoneHidden` property of a field object.
     *
     * @typedef phoneHidden
     * @property phoneHidden - Specifies whether the phone field should be hidden.
     */
    phoneHidden?: PickProp<IField<Data, Payload>, "phoneHidden">;
    /**
     * Represents the optional property 'tabletHidden' in a field object.
     *
     * @typedef tabletHidden
     */
    tabletHidden?: PickProp<IField<Data, Payload>, "tabletHidden">;
    /**
     * Represents the optional property `desktopHidden` of type `PickProp<IField<Data, Payload>, 'desktopHidden'>`.
     *
     * @typedef desktopHidden
     */
    desktopHidden?: PickProp<IField<Data, Payload>, "desktopHidden">;
    /**
     * Represents the 'hidden' property of an object.
     *
     * @template IField - The type of the field object.
     * @template Data - The type of the data object.
     * @template Payload - The type of the payload object.
     *
     * @typedef Hidden
     */
    hidden?: PickProp<IField<Data, Payload>, "hidden">;
    /**
     * Represents an optional property `noBaseline` that is picked from the interface `IField` using the `PickProp` utility type.
     *
     * @template Data - The type of data associated with the field.
     * @template Payload - The type of payload associated with the field.
     *
     * @typedef noBaseline
     *
     * @property [noBaseline] - Specifies whether the field has a baseline or not.
     */
    noBaseline?: PickProp<IField<Data, Payload>, "noBaseline">;
    /**
     * Represents an optional property `baseline` that is picked from the interface `IField` using the `PickProp` utility type.
     *
     * @template Data - The type of data associated with the field.
     * @template Payload - The type of payload associated with the field.
     *
     * @typedef baseline
     *
     * @property [baseline] - Specifies whether the field has a baseline or not.
     */
    baseline?: PickProp<IField<Data, Payload>, "baseline">;
  }
  /**
   * Типизацию компоновки следует вынести отдельно
   */
  export interface IManagedLayout<Data = IAnything, Payload = IAnything>
    extends IWrappedLayout<Data, Payload> {
    /**
     * Represents override columns configuration for a field.
     *
     * @typedef columnsOverride
     *
     * @property - The name of the field for which the columns are overridden.
     */
    columnsOverride?: PickProp<IField<Data, Payload>, "columnsOverride">;
    /**
     * Represents the 'sx' property of the 'PickProp' type.
     *
     * @typedef IFieldKey
     * @typedef PickProp<IField<Data, Payload>, 'sx'> SxProp
     *
     * @property sx - The key of the 'IField' type that represents the 'sx' property.
     */
    sx?: PickProp<IField<Data, Payload>, "sx">;
    /**
     * Retrieves the specific columns from a given object.
     */
    columns?: PickProp<IField<Data, Payload>, "columns">;
    /**
     * Represents the phone columns configuration for a field
     */
    phoneColumns?: PickProp<IField<Data, Payload>, "phoneColumns">;
    /**
     * Represents the number of columns for the "tablet" viewport size of a field.
     * This property is optional.
     *
     * @typedef tabletColumns
     */
    tabletColumns?: PickProp<IField<Data, Payload>, "tabletColumns">;
    /**
     * Represents the number of columns on a desktop layout for a field in a data payload object.
     *
     * @typedef desktopColumns
     * @property desktopColumns - The number of columns on a desktop layout.
     * @property desktopColumns - Optional property to pick the 'desktopColumns' property from 'IField<Data, Payload>' interface.
     */
    desktopColumns?: PickProp<IField<Data, Payload>, "desktopColumns">;
    /**
     * Represents the right margin of a field.
     *
     * @typedef FieldRightMargin
     */
    fieldRightMargin?: PickProp<IField<Data, Payload>, "fieldRightMargin">;
    /**
     * Represents the optional configuration for the bottom margin
     * of a field.
     *
     * @typedef FieldBottomMargin
     */
    fieldBottomMargin?: PickProp<IField<Data, Payload>, "fieldBottomMargin">;
    /**
     * Returns the picked 'features' property from the given variable.
     *
     * @template Data - The type of data.
     * @template Payload - The type of payload.
     * @template T - The type of the variable.
     * @param variable - The variable from which to pick the 'features' property.
     * @returns - The picked 'features' property.
     */
    features?: PickProp<IField<Data, Payload>, "features">;
  }
  /**
   * Компонент высшего порядка makeField
   * перехватывает управление над свойствами
   * поля
   */
  export interface IManagedShallow<Data = IAnything, Payload = IAnything>
    extends IManagedLayout<Data> {
    /**
     * Отменяет ожидание фокуса для валидации
     */
    dirty?: PickProp<IField<Data, Payload>, "dirty">;
    /**
     * Идентификатор для тестирования шаблона
     */
    testId?: PickProp<IField<Data, Payload>, "testId">;
    /**
     * Represents the `isDisabled` property of a field object.
     *
     * @typedef PickProp
     * @typedef IField
     * @typedef Data
     * @typedef Payload
     *
     * @type {PickProp<IField<Data, Payload>, 'isDisabled'>}
     *
     * @description
     * The `isDisabled` property indicates whether a field is disabled or not.
     * If `isDisabled` is `true`, the field is disabled, meaning it cannot be interacted with.
     * If `isDisabled` is `false`, the field is enabled and can be interacted with.
     *
     */
    isDisabled?: PickProp<IField<Data, Payload>, "isDisabled">;
    /**
     * Determines the visibility of a field.
     *
     * @typedef isVisible
     * @description The `isVisible` property is used to determine whether a field is visible or hidden.
     *
     * @param field - The field object that contains the `isVisible` property.
     *
     * @returns - Returns `true` if the field is visible, `false` otherwise.
     */
    isVisible?: PickProp<IField<Data, Payload>, "isVisible">;
    /**
     * Determines if the field is readonly.
     *
     * @typedef isReadonly
     */
    isReadonly?: PickProp<IField<Data, Payload>, "isReadonly">;
    /**
     * Represents the `isInvalid` field of a given field.
     *
     * @typedef IsInvalid
     */
    isInvalid?: PickProp<IField<Data, Payload>, "isInvalid">;
    /**
     * Checks if the field is incorrect.
     *
     * @template T - The object type to check.
     * @template K - The propertyname to pick from the object type.
     * @param obj - The object to check.
     * @param prop - The property name to pick from the object type.
     * @returns - A boolean indicating whether the field is incorrect.
     */
    isIncorrect?: PickProp<IField<Data, Payload>, "isIncorrect">;
    invalidity?: PickProp<IField<Data, Payload>, "invalidity">;
    /**
     * Determines if the field should be recomputed.
     *
     * @typedef shouldRecompute
     *
     * @property shouldRecompute - Indicates whether the field should be recomputed.
     */
    shouldRecompute?: PickProp<IField<Data, Payload>, "shouldRecompute">;
    /**
     * Check if 'shouldUpdateItemList' property is present in the given variable.
     *
     * @typedef shouldUpdateItemList
     * @param shouldUpdateItemList - The variable to be checked.
     * @returns - Returns true if 'shouldUpdateItemList' property is present, otherwise false.
     */
    shouldUpdateItemList?: PickProp<
      IField<Data, Payload>,
      "shouldUpdateItemList"
    >;
    /**
     * Determines if the 'shouldUpdateTr' property should be updated.
     *
     * @typedef shouldUpdateTr
     * @property shouldUpdateTr.value - The current value of the 'shouldUpdateTr' property.
     * @property shouldUpdateTr.isReady - Indicates if the 'shouldUpdateTr' property is ready for update.
     * @property shouldUpdateTr.isEnabled - Determines if the 'shouldUpdateTr' property is enabled.
     */
    shouldUpdateTr?: PickProp<IField<Data, Payload>, "shouldUpdateTr">;
    /**
     * Represents the debug property of a field.
     * @template Data - The type of data associated with the field.
     * @template Payload - The type of payload associated with the field.
     * @typedef debug
     *
     * @property value - The value of the debug property.
     * @property props - Additional properties of the field.
     */
    debug?: PickProp<IField<Data, Payload>, "debug">;
    /**
     * Type definition for the `compute` property of an object.
     *
     * @template T - The type of the `IField` object.
     * @template Payload - The type of the payload used in the `IField` object.
     * @template K - The property key to pick from `IField<Data, Payload>`.
     *
     * @typedef compute
     *
     * @param object - The `IField` object to pick the `compute` property from.
     *
     * @returns - The value of the `compute` property from the `IField` object.
     */
    compute?: PickProp<IField<Data, Payload>, "compute">;
    /**
     * Represents the "click" property of a specific field in a data object.
     *
     * @template Data - The type of the data object containing the field.
     * @template Payload - The type of the payload associated with the click event.
     */
    click?: PickProp<IField<Data, Payload>, "click">;
    /**
     * Type definition for the `focus` property with pick properties.
     *
     * The `focus` property is used to pick a specific property from an object type.
     * This type definition is a utility type that leverages Pick and keyof to select
     * the specified property from the provided object type.
     *
     * @template T - The object type from which to pick the property.
     * @template K - The name of the property to select.
     *
     * @typedef PickProp
     * @type {Pick<T, K>}
     */
    focus?: PickProp<IField<Data, Payload>, "focus">;
    /**
     * Type definition for the 'blur' property.
     *
     * The 'blur' property is an optional property of type PickProp<IField<Data, Payload>, 'blur'>.
     * It represents whether the field should be blurred or not.
     *
     * @template Data - The data object type.
     * @template Payload - The payload type.
     * @property blur - The properties of the field to be blurred.
     *
     * @typedef BlurType
     */
    blur?: PickProp<IField<Data, Payload>, "blur">;
    /**
     * Represents the menuItems property of a field in a form.
     *
     * @typedef menuItems
     */
    menuItems?: PickProp<IField<Data, Payload>, "menuItems">;
    /**
     * Represents the 'menu' variable.
     *
     * @typedef menu
     * @property - The original field object from which the 'menu' property was picked
     * @property menu - The 'menu' property of the field object
     * @property menu.data - The data associated with the 'menu' property
     * @property menu.payload - The payload associated with the 'menu' property
     */
    menu?: PickProp<IField<Data, Payload>, "menu">;
    /**
     * Represents a map property of a field.
     *
     * @template Data - The type of data object associated with the field.
     * @template Payload - The type of payload associated with the map property.
     *
     * @typedef Map
     *
     * @property key - The key associated with the map property.
     * @property value - The value associated with the map property.
     */
    map?: PickProp<IField<Data, Payload>, "map">;
    /**
     * Retrieves the defaultValue property from the given field.
     *
     * @param field - The field to get the defaultValue from.
     * @returns - The defaultValue of the field, if defined.
     */
    defaultValue?: PickProp<IField<Data, Payload>, "defaultValue">;
    /**
     * Type definition for the 'hidden' property of a field in a form.
     *
     * @template Data - The type of data object expected by the form.
     * @template Payload - The type of payload expected when submitting the form.
     * @template T - The type of the 'hidden' property in the field.
     *
     * @typedef hidden
     *
     * @property hidden - The value of the 'hidden' property of the field.
     */
    hidden?: PickProp<IField<Data, Payload>, "hidden">;
    /**
     * Extracts the 'features' property from the given variable.
     *
     * @param variable - The variable to pick 'features' property from.
     *
     * @returns - The extracted 'features' property.
     */
    features?: PickProp<IField<Data, Payload>, "features">;
  }
  /**
   * Свойства, не доступные управляемому полю
   */
  type Exclude<Data = IAnything> = {
    object: never;
    type: never;
    focus: never;
    blur: never;
    click: never;
    ready: never;
    check: never;
    change: never;
    name: never;
    menu: never;
    map: never;
    menuItems: never;
    readTransform: never;
    writeTransform: never;
  } & IManagedShallow<Data>;
  /**
   * Свойства сущности, обернутой в компонент высшего порядка
   * Предоставляется удобная абстракция
   */
  export interface IManaged<Data = IAnything, Value = any>
    extends Omit<IEntity<Data>, keyof Exclude<Data>> {
    name: string;
    value: Value;
    dirty: boolean;
    withContextMenu: true | undefined;
    disabled: boolean;
    loading: boolean;
    readonly: boolean;
    fieldReadonly: boolean;
    incorrect: string | null;
    invalid: string | null;
    object: Data;
    click: (e: React.MouseEvent<any>) => void | Promise<void>;
    onChange: (
      v: Value,
      config?: {
        skipReadonly?: boolean;
      },
    ) => void;
  }
  export default IManaged;
}

declare module "react-declarative-lite/components" {
  export * from "react-declarative-lite/components/One";
  export * from "react-declarative-lite/components/NoSsr";
  export * from "react-declarative-lite/components/ActionButton";
  export * from "react-declarative-lite/components/ActionIcon";
  export * from "react-declarative-lite/components/SearchView";
  export * from "react-declarative-lite/components/InfiniteView";
  export * from "react-declarative-lite/components/VirtualView";
  export * from "react-declarative-lite/components/TreeView";
  export * from "react-declarative-lite/components/Tile";
  export * from "react-declarative-lite/components/Async";
  export * from "react-declarative-lite/components/If";
}

declare module "react-declarative-lite/model/FieldType" {
  /**
   * Represents the type of a field in a <One /> component.
   */
  export enum FieldType {
    Layout = "custom-layout",
    Switch = "switch-field",
    YesNo = "yesno-field",
    Line = "line-field",
    File = "file-field",
    Group = "group-layout",
    Paper = "paper-layout",
    Outline = "outline-layout",
    Expansion = "expansion-layout",
    Radio = "radio-field",
    Checkbox = "checkbox-field",
    Text = "text-field",
    Date = "date-field",
    Time = "time-field",
    Progress = "progress-field",
    Component = "component-field",
    Slider = "slider-field",
    Combo = "combo-field",
    Choose = "choose-field",
    Tree = "tree-field",
    Dict = "dict-field",
    Init = "init-field",
    Phony = "phony-field",
    Button = "button-field",
    Icon = "icon-field",
    Complete = "complete-field",
    Items = "items-field",
    Rating = "rating-field",
    Typography = "typography-field",
    Fragment = "fragment-layout",
    Div = "div-layout",
    Box = "box-layout",
    Tabs = "tabs-layout",
    Hero = "hero-layout",
    Center = "center-layout",
    Stretch = "stretch-layout",
    Condition = "condition-layout",
  }
  export default FieldType;
}

declare module "react-declarative-lite/model/SelectionMode" {
  /**
   * Enum representing different selection modes.
   *
   * @enum
   */
  export enum SelectionMode {
    Single = "single-selection",
    Multiple = "multiple-selection",
    None = "none-selection",
  }
  export default SelectionMode;
}

declare module "react-declarative-lite/model/IOneApi" {
  import IAnything from "react-declarative-lite/model/IAnything";
  /**
   * Represents an interface for interacting with the One component by api ref.
   * @template Data - The type of data that the OneApi operates on.
   */
  export interface IOneApi<Data = IAnything> {
    /**
     * Reloads the current page.
     *
     * @function reload
     * @returns - A Promise that resolves when the page reload is completed.
     */
    reload: () => Promise<void>;
    /**
     * Changes the provided data.
     *
     * @param data - The data to be changed.
     * @param [initial=false] - Indicates if the change is an initial change.
     * @returns
     */
    change: (data: Data, initial?: boolean) => void;
    /**
     * Retrieves the data.
     *
     * @function
     * @name getData
     * @returns The retrieved data.
     */
    getData: () => Data;
  }
  export default IOneApi;
}

declare module "react-declarative-lite/model/IOption" {
  import IAnything from "react-declarative-lite/model/IAnything";
  /**
   * Represents an option for a specific action or behavior.
   *
   * @template Payload - The payload type for evaluating option visibility and disabled state.
   */
  export interface IOption<Payload = IAnything> {
    label?: string;
    action?: string;
    divider?: boolean;
    primary?: boolean | number;
    icon?: React.ComponentType<any>;
    /**
     * Checks the visibility of a given payload.
     *
     * @param payload - The payload to check visibility for.
     * @returns - A Promise that resolves to a boolean value indicating the visibility status of the payload, or a boolean value directly indicating the visibility
     * status.
     */
    isVisible?: (payload: Payload) => Promise<boolean> | boolean;
    /**
     * Checks if the provided payload indicates that the element is disabled.
     *
     * @param payload - The payload to check.
     * @returns - A boolean value indicating if the element is disabled.
     */
    isDisabled?: (payload: Payload) => Promise<boolean> | boolean;
  }
  export default IOption;
}

declare module "react-declarative-lite/hooks/useItemModal" {
  import { IItemModalProps } from "react-declarative-lite/components/common/ItemModal";
  interface IParams extends IItemModalProps {
    payload: Record<string, unknown>;
    _autofocusDelay?: number;
  }
  export const useItemModal: (params: IParams) => () => void;
  export default useItemModal;
}

declare module "react-declarative-lite/hooks/useChangeDelay" {
  export const useChangeDelay: (delay?: number) => {
    delay$: import("react").MutableRefObject<boolean>;
    doDelay: () => Promise<void>;
  };
  export default useChangeDelay;
}

declare module "react-declarative-lite/model/IOneProps" {
  import React from "react";
  import { SxProps } from "@mui/material";
  import IField, { Value } from "react-declarative-lite/model/IField";
  import IEntity from "react-declarative-lite/model/IEntity";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IOneApi from "react-declarative-lite/model/IOneApi";
  import { TSubject } from "react-declarative-lite/utils/rx/Subject";
  import { ISlotFactoryContext } from "react-declarative-lite/components/One/components/SlotFactory";
  type DataOrNull<Data = IAnything> = Data | null;
  /**
   * Represents a OneHandler class that can handle data or perform asynchronous tasks with payload.
   * @template Data - The type of data that the OneHandler can handle.
   * @template Payload - The type of payload that the OneHandler can accept.
   */
  export type OneHandler<Data = IAnything, Payload = IAnything> =
    | Data
    | ((payload: Payload) => DataOrNull<Data>)
    | ((payload: Payload) => Promise<DataOrNull<Data>>)
    | null;
  /**
   * Properties of the <One /> template engine component
   */
  export interface IOneProps<
    Data = IAnything,
    Payload = IAnything,
    Field = IField<Data, Payload>,
  > {
    /**
     * Привязывет поля к нижнему краю
     */
    baseline?: boolean;
    /**
     * Привязывает поля и компоновки к верхнему краю
     */
    noBaseline?: boolean;
    /**
     * Ссылка на объект API
     */
    apiRef?: React.Ref<IOneApi>;
    /**
     * Контекст кастомных полей, в отличие от
     * payload доступен к change detection
     */
    context?: Record<string, any>;
    /**
     * Эмиттер для запроса данных
     */
    reloadSubject?: TSubject<void>;
    /**
     * Генерирует плейсхолдеры согласно схеме полей целевого объекта
     */
    withNamedPlaceholders?: boolean;
    /**
     * Эмиттер для перезаписи данных. Вызывает change(data, true)
     */
    changeSubject?: TSubject<Data>;
    /**
     * Эмиттер для изменения данных. Вызывает change(data, false)
     */
    updateSubject?: TSubject<Data>;
    /**
     * Функция, определяющая, нужно ли включить baseline зависимо от
     * расположения поля в иерархии композиции потомков
     */
    isBaseline?: (field: IField) => boolean;
    /**
     * Корневой компонент привязывает поля к нижнему краю только если
     * нет ни одной компоновки
     */
    isBaselineForRoot?: (field: IField) => boolean;
    /**
     * Фабрика для создания полей пользователя
     */
    createField?: (
      entity: IEntity<Data>,
      currentPath: string,
    ) => React.ReactElement;
    /**
     * Фабрика для создания компоновок пользователя
     */
    createLayout?: (
      entity: IEntity<Data>,
      children: React.ReactNode,
      currentPath: string,
    ) => React.ReactElement;
    /**
     * Класс корневой группы
     */
    className?: string;
    /**
     * Если флаг включен, показываем валидацию до фокусировки по полю
     */
    dirty?: boolean;
    /**
     * Список бизнес-функций, ограничивающий отображение полей
     */
    features?: string[];
    /**
     * Стиль корневой группы
     */
    style?: React.CSSProperties;
    /**
     * SX для корневой группы
     */
    sx?: SxProps<any>;
    /**
     * Позволяет загружать данные в компонент
     */
    handler?: OneHandler<Data, Payload>;
    /**
     * Объект, передающийся в пользовательские
     * поля через контекст
     */
    payload?: Payload | (() => Payload);
    /**
     * Вызывается при ошибке в handler
     */
    fallback?: (e: Error) => void;
    /**
     * Коллбек, вызываемый при не прохождении
     * валидации
     */
    invalidity?: (name: string, msg: string, payload: Payload) => void;
    /**
     * Вызываются при фокусировки по филду
     * в компоненте и потере фокуса
     */
    focus?: (
      name: string,
      data: Data,
      payload: Payload,
      onValueChange: (value: Value) => void,
      onChange: (data: Data) => void,
    ) => void;
    blur?: (
      name: string,
      data: Data,
      payload: Payload,
      onValueChange: (value: Value) => void,
      onChange: (data: Data) => void,
    ) => void;
    /**
     * crypt/decrypt значения, получаемого в `makeField` из
     * управляемого объекта
     */
    readTransform?: (
      value: Value,
      name: string,
      data: Data,
      payload: Payload,
    ) => Value;
    writeTransform?: (
      value: Value,
      name: string,
      data: Data,
      payload: Payload,
    ) => Value;
    /**
     * Методы для преобразования целевого объекта, например сериализации/десереализации,
     * чтобы хранить в data страницы строку, синхронизируемую через AJAX
     */
    incomingTransform?: (data: IAnything, payload: Payload) => Data;
    outgoingTransform?: (data: IAnything, payload: Payload) => Data;
    /**
     * Коллбек для управления контекстным меню
     */
    menu?: (
      name: string,
      action: string,
      data: Data,
      payload: Payload,
      onValueChange: (value: Value) => void,
      onChange: (data: Data) => void,
    ) => void;
    /**
     * Коллбек для перехвата клика по полю
     */
    click?: (
      name: string,
      data: Data,
      payload: Payload,
      onValueChange: (value: Value) => void,
      onChange: (data: Data) => void,
      e: React.MouseEvent,
    ) => void | Promise<void>;
    /**
     * Вызывается, когда все поля успели отрисоваться
     * в первый раз, после появления формы
     */
    ready?: () => void;
    /**
     * Вызывается после изменения и передает измененный
     * объект прикладному программисту
     */
    change?: (Data: Data, initial: boolean) => void;
    /**
     * Массив полей, выводимый в компоненте
     */
    fields: Field[];
    /**
     * Префикс для формирования ключей элементов
     */
    prefix?: string;
    /**
     * Коллбеки управления отображением
     * состоянием загрузки
     */
    loadStart?: (source: string) => void;
    loadEnd?: (isOk: boolean, source: string) => void;
    /**
     * Превращает FieldType.Paper в FieldType.Outline
     */
    outlinePaper?: boolean;
    transparentPaper?: boolean;
    /**
     * Блокирует ввод данных
     */
    readonly?: boolean;
    /**
     * Отключает поля ввода
     */
    disabled?: boolean;
    /**
     * Слоты для полей ввода
     */
    slots?: Partial<ISlotFactoryContext>;
    /**
     * Debounce для FieldType.Text
     */
    fieldDebounce?: number;
  }
  export default IOneProps;
}

declare module "react-declarative-lite/hooks/useActualCallback" {
  /**
   * Executes a given callback function while preserving its reference and memoizing it with specified dependencies.
   *
   * @template T - Type of the callback function
   * @param run - The callback function to be executed
   * @param [deps=[]] - The dependencies to be memoized
   * @returns - The memoized callback function
   */
  export const useActualCallback: <T extends (...args: any[]) => any>(
    run: T,
    deps?: any[],
  ) => T;
  export default useActualCallback;
}

declare module "react-declarative-lite/hooks/useActualValue" {
  /**
   * Initializes a ref with the provided value and keeps it up to date.
   *
   * @template T - The type of the value.
   * @param value - The initial value.
   * @returns - A reference object that contains the provided value.
   */
  export const useActualValue: <T = undefined>(
    value: T,
  ) => import("react").MutableRefObject<T>;
  export default useActualValue;
}

declare module "react-declarative-lite/hooks/useActualState" {
  /**
   * Returns an array of values representing the current state and a function to update the state.
   *
   * @template S - The type of the state.
   * @param [initialState] - Optional initial state.
   * @returns - An array containing the mutable reference to the state and the state update function
   *.
   */
  export const useActualState: <S = undefined>(
    initialState?: S | (() => S) | undefined,
  ) => readonly [
    import("react").MutableRefObject<S>,
    import("react").Dispatch<import("react").SetStateAction<S>>,
  ];
  export default useActualState;
}

declare module "react-declarative-lite/hooks/useActualRef" {
  /**
   * Custom hook that creates a mutable reference to a state value
   * and a function to update the state value.
   *
   * @template S - The type of the state value
   * @param initialState - The initial state value or a function that returns the initial state value
   * @returns - An array containing the state reference and handleState function
   */
  export const useActualRef: <S = undefined>(
    initialState?: S | (() => S) | undefined,
  ) => readonly [
    import("react").MutableRefObject<S>,
    (dispatch: S | ((prevState: S) => S)) => void,
  ];
  export default useActualRef;
}

declare module "react-declarative-lite/hooks/useRenderWaiter" {
  /**
   * Creates a render waiter hook.
   *
   * @param [deps] - Optional array of dependencies. When the dependencies change, the render waiter will trigger a re-render.
   * @param [delay=0] - Optional delay in milliseconds before triggering the render waiter.
   * @returns - Render waiter function that returns a promise that resolves when the render is complete.
   */
  export const useRenderWaiter: (
    deps?: any[] | undefined,
    delay?: number,
  ) => () => Promise<void>;
  export default useRenderWaiter;
}

declare module "react-declarative-lite/hooks/useAsyncAction" {
  /**
   * Interface for defining optional parameters for a function.
   *
   * @typedef IParams
   * @property [fallback] - Function to handle error if it occurs.
   * @property [onLoadStart] - Function to be called when loading starts.
   * @property [onLoadEnd] - Function to be called when loading ends,
   *                                                  with a boolean indicating if it was successful or not.
   * @property [throwError] - Whether to throw an error or not.
   */
  interface IParams {
    fallback?: (e: Error) => void;
    onLoadStart?: () => void;
    onLoadEnd?: (isOk: boolean) => void;
    throwError?: boolean;
  }
  /**
   * Represents the result of an operation.
   *
   * @template Data - The type of data returned by the operation.
   * @template Payload - The type of payload accepted by the execute method.
   */
  export interface IResult<
    Data extends any = any,
    Payload extends any = object,
  > {
    loading: boolean;
    error: boolean;
    execute: (p?: Payload) => Promise<Data | null>;
  }
  /**
   * Executes an asynchronous action with options for handling loading, error, and cancellation.
   *
   * @template Data - The data type returned by the action.
   * @template Payload - The payload type passed to the action.
   * @param run - The action function to execute.
   * @param options - Optional parameters for customizing behavior.
   * @param options.onLoadStart - A callback function to run when the action starts loading.
   * @param options.onLoadEnd - A callback function to run when the action finishes loading.
   * @param options.fallback - A callback function to handle errors when throwError is set to false.
   * @param options.throwError - Whether to throw an error when the action fails.
   * @returns - An object containing loading, error, and execute properties.
   */
  export const useAsyncAction: <
    Data extends unknown = any,
    Payload extends unknown = any,
  >(
    run: (p: Payload) => Data | Promise<Data>,
    { onLoadStart, onLoadEnd, fallback, throwError }?: IParams,
  ) => IResult<Data, Payload>;
  export default useAsyncAction;
}

declare module "react-declarative-lite/hooks/useAsyncValue" {
  import { IResult } from "react-declarative-lite/hooks/useAsyncAction";
  /**
   * Represents the options for configuring various parameters.
   */
  interface IParams {
    fallback?: (e: Error) => void;
    onLoadStart?: () => void;
    onLoadEnd?: (isOk: boolean) => void;
    throwError?: boolean;
    deps?: any[];
  }
  /**
   * This function allows you to manage an asynchronous value by providing a run function and optional parameters.
   *
   * @template Data - The data type of the async value.
   * @param run - A function that returns the async value or a promise that resolves to the async value.
   * @param [params={}] - Optional parameters for customizing the behavior of the async value.
   * @returns - An array containing the current async value, action object for executing the async action, and a setter function
   * to update the async value.
   */
  export const useAsyncValue: <Data extends unknown = any>(
    run: () => Data | Promise<Data>,
    params?: IParams,
  ) => [
    Data | null,
    IResult<void, void>,
    (data: Data) => void,
    {
      waitForResult: () => Promise<Data>;
    },
  ];
  export default useAsyncValue;
}

declare module "react-declarative-lite/hooks/useSinglerunAction" {
  /**
   * @typedef IParams
   * @property [fallback] - The function to be called when an error occurs.
   * @property [onLoadStart] - The function to be called when the load starts.
   * @property [onLoadEnd] - The function to be called when the load ends.
   * @property [throwError=false] - Determines if an error should be thrown.
   */
  interface IParams {
    fallback?: (e: Error) => void;
    onLoadStart?: () => void;
    onLoadEnd?: (isOk: boolean) => void;
    throwError?: boolean;
  }
  /**
   * Interface representing the result of an operation.
   *
   * @template Data - The type of the data returned by the operation.
   * @template Payload - The type of the payload used for the operation.
   */
  interface IResult<Data extends any = any, Payload extends any = object> {
    loading: boolean;
    error: boolean;
    execute: IExecute<Data, Payload>;
  }
  /**
   * Represents an interface for executing an action with a payload and returning data asynchronously.
   * @template Data - The type of data returned by the execution.
   * @template Payload - The type of payload accepted by the execution.
   */
  export interface IExecute<
    Data extends any = any,
    Payload extends any = object,
  > {
    (payload?: Payload): Promise<Data | null>;
    clear(): void;
  }
  /**
   * Function useSinglerunAction
   *
   * @description This function is a custom hook that helps to handle asynchronous actions and manage loading and error states.
   *
   * @template Data - The type of data that the asynchronous action will return.
   * @template Payload - The type of payload that the asynchronous action accepts.
   *
   * @param run - The asynchronous action to be executed.
   * @param options - Additional options for the hook.
   * @param [options.onLoadStart] - Callback function called when the asynchronous action starts.
   * @param [options.onLoadEnd] - Callback function called when the asynchronous action ends.
   * @param [options.fallback] - Callback function called when an error occurs, if `throwError` is set to `false`.
   * @param [options.throwError] - Flag to determine whether to throw an error or call the `fallback` function when an error occurs. Default is `true`.
   *
   * @returns - An object containing the loading state, error state, and an `execute` function to execute the asynchronous action.
   */
  export const useSinglerunAction: <
    Data extends unknown = any,
    Payload extends unknown = any,
  >(
    run: (p: Payload) => Data | Promise<Data>,
    { onLoadStart, onLoadEnd, fallback, throwError }?: IParams,
  ) => IResult<Data, Payload>;
  export default useSinglerunAction;
}

declare module "react-declarative-lite/hooks/useQueuedAction" {
  import { CANCELED_SYMBOL } from "react-declarative-lite/utils/hof/queued";
  /**
   * Interface for defining parameters of an asynchronous operation.
   */
  interface IParams {
    fallback?: (e: Error) => void;
    onLoadStart?: () => void;
    onLoadEnd?: (isOk: boolean) => void;
    throwError?: boolean;
  }
  /**
   * Represents the result of an asynchronous operation.
   * @template Data - The type of the data returned by the operation.
   * @template Payload - The type of the payload used by the operation.
   */
  export interface IResult<
    Data extends any = any,
    Payload extends any = object,
  > {
    loading: boolean;
    error: boolean;
    execute: IExecute<Data, Payload>;
  }
  /**
   * @interface IExecute
   * @template Data, Payload
   */
  export interface IExecute<
    Data extends any = any,
    Payload extends any = object,
  > {
    (payload?: Payload): Promise<Data | null>;
    clear(): void;
    cancel(): void;
  }
  /**
   * Executes an asynchronous action with queuing and provides loading and error state.
   *
   * @template Data - The type of data returned by the action.
   * @template Payload - The type of payload accepted by the action.
   *
   * @param run - The function that represents the action to be executed.
   * @param options - Optional parameters for configuring the behavior of the action execution.
   * @param options.onLoadStart - Callback function to be executed when the action starts loading.
   * @param options.onLoadEnd - Callback function to be executed when the action finishes loading.
   * @param options.fallback - Callback function to be executed when an error occurs and `throwError` is set to `false`.
   * @param options.throwError - Specifies whether to throw an error if one occurs during the action execution.
   *
   * @returns - The result object containing the loading state, error state, and the execute function to trigger the action execution.
   */
  export const useQueuedAction: <
    Data extends unknown = any,
    Payload extends unknown = any,
  >(
    run: (p: Payload) => Data | Promise<Data>,
    { onLoadStart, onLoadEnd, fallback, throwError }?: IParams,
  ) => IResult<Data, Payload>;
  export { CANCELED_SYMBOL };
  export default useQueuedAction;
}

declare module "react-declarative-lite/hooks/useMediaContext" {
  /**
   * Returns an object containing information about the current media context.
   *
   * @return The media context object.
   * @property isPhone - Indicates whether the current device is a phone.
   * @property isTablet - Indicates whether the current device is a tablet.
   * @property isDesktop - Indicates whether the current device is a desktop.
   * @property isWide - Indicates whether the current device is a tablet or desktop.
   * @property isMobile - Indicates whether the current device is a phone.
   */
  export const useMediaContext: () => {
    isPhone: boolean;
    isTablet: boolean;
    isDesktop: boolean;
    isWide: boolean;
    isMobile: boolean;
  };
  export default useMediaContext;
}

declare module "react-declarative-lite/hooks/useChangeSubject" {
  import Subject from "react-declarative-lite/utils/rx/Subject";
  /**
   * Creates a subject that emits the given value whenever it changes.
   *
   * @template T - The type of the value to be emitted by the subject.
   *
   * @param value - The initial value of the subject.
   *
   * @returns - The subject that emits the value whenever it changes.
   */
  export const useChangeSubject: <T = undefined>(value: T) => Subject<T>;
  export default useChangeSubject;
}

declare module "react-declarative-lite/hooks/useDeepChangeSubject" {
  export const useDeepChangeSubject: <T extends object = any>(
    object: T,
  ) => import("..").Subject<T>;
  export default useDeepChangeSubject;
}

declare module "react-declarative-lite/hooks/useReloadTrigger" {
  /**
   * Hook for setting up a reload trigger.
   *
   * @param autoReload - The interval for automatic reload triggering in milliseconds. Default is 0 (disabled).
   * @returns - Object containing the reload trigger value and the reload function.
   */
  export const useReloadTrigger: (autoReload?: number) => {
    reloadTrigger: string;
    doReload: () => void;
  };
  export default useReloadTrigger;
}

declare module "react-declarative-lite/hooks/useSingleton" {
  /**
   * Returns a singleton instance of a given value or a function that creates the value.
   *
   * @template T - The type of the value to be returned.
   * @param value - The value or function that creates the value.
   * @returns The singleton instance of the value.
   */
  export const useSingleton: <T = undefined>(value: T | (() => T)) => T;
  export default useSingleton;
}

declare module "react-declarative-lite/hooks/useElementSize" {
  /**
   * Represents the size of an object or element.
   *
   * @interface
   */
  interface ISize {
    height: number;
    width: number;
  }
  /**
   * Represents the parameters used by a class.
   *
   * @template Size - The size type used in the class.
   *
   * @property [defaultSize] - The default size to be used if size is not provided.
   * @property [target] - The target element for the operation.
   * @property [closest] - The closest element selector.
   * @property [selector] - The element selector.
   * @property [debounce] - The debounce time in milliseconds.
   * @property [compute] - The function used to compute the size.
   * @property [onResize] - The callback function to be executed on resize.
   */
  interface IParams<Size extends ISize> {
    defaultSize?: ISize;
    target?: HTMLElement | null;
    map?: (child: HTMLElement) => HTMLElement | null;
    closest?: string;
    selector?: string;
    debounce?: number;
    compute?: (size: ISize) => Size;
    onResize?: (size: Size) => void;
  }
  /**
   * Calculates the size of an HTML element and updates it when it changes.
   *
   * @template T - The type of the HTML element.
   * @template Size - The interface defining the size object type.
   *
   * @typedef  ISize - The interface defining the size object type.
   *
   * @typedef IParams - The interface defining the optional parameters for the useElementSize function.
   * @property defaultSize - The default size of the element.
   * @property target - The target element to calculate the size for. If not provided, the component's element will be used.
   * @property closest - The selector for the closest ancestor element.
   * @property selector - The selector for a specific descendant element.
   * @property debounce - The debounce delay in milliseconds for resizing events. Defaults to 0 (no debounce).
   * @property compute - A function to compute the size object based on the raw size object. Defaults to a simple type casting.
   * @property onResize - A callback function called when the element size changes.
   *
   * @param options - The optional parameters for the useElementSize function.
   * @returns - An object containing a ref to the element and the current size.
   */
  export const useElementSize: <
    T extends HTMLElement,
    Size extends ISize = ISize,
  >({
    defaultSize: { height, width },
    target,
    map,
    closest,
    selector,
    debounce: delay,
    compute,
    onResize,
  }?: Partial<IParams<Size>>) => {
    elementRef: import("react").RefObject<T>;
    size: Size;
  };
  export default useElementSize;
}

declare module "react-declarative-lite/hooks/useWindowSize" {
  import ISize from "react-declarative-lite/model/ISize";
  /**
   * Represents a set of parameters with generic size and optional resize event handler.
   * @interface
   * @template Size - The type of the size the parameters can compute and resize to.
   */
  interface IParams<Size extends ISize> {
    debounce: number;
    compute: (size: ISize) => Size;
    onResize?: (size: Size) => void;
  }
  /**
   * Returns the size of the window.
   * @template Size - The type of the size object.
   * @param [options] - Optional configuration options.
   * @param [options.debounce] - The delay in milliseconds for debouncing the resize event. Default is `RESIZE_DEBOUNCE`.
   * @param [options.compute] - A function that computes the size object from the window size. Default is `(size) => size as Size`.
   * @param [options.onResize] - A callback function to be called when the window size changes.
   * @returns The size of the window.
   */
  export const useWindowSize: <Size extends ISize = ISize>({
    debounce: delay,
    compute,
    onResize,
  }?: Partial<IParams<Size>>) => Size;
  export default useWindowSize;
}

declare module "react-declarative-lite/hooks/useSubject" {
  import Subject, { TSubject } from "react-declarative-lite/utils/rx/Subject";
  /**
   * Creates and returns a subject that can be subscribed to.
   *
   * @template Data - The data type of the subject.
   * @param target - An optional target subject to subscribe to.
   * @returns - The created subject.
   */
  export const useSubject: <Data = any>(
    target?: TSubject<Data> | null | undefined,
  ) => Subject<Data>;
  export default useSubject;
}

declare module "react-declarative-lite/hooks/useChange" {
  /**
   * Hook for managing the execution of an effect based on changes in dependencies.
   *
   * @param effect - The effect to be executed.
   * @param [deps=[]] - The dependencies to watch for changes.
   * @param [stopWatchByDefault=false] - Whether to initially stop watching for changes.
   * @returns - An object containing utility functions for managing the watcher.
   */
  export const useChange: (
    effect: React.EffectCallback,
    deps?: import("react").DependencyList,
    stopWatchByDefault?: boolean,
  ) => {
    resetWatcher: () => void;
    beginWatch: () => void;
    stopWatch: () => void;
  };
  export default useChange;
}

declare module "react-declarative-lite/components/ModalManager" {
  export * from "react-declarative-lite/components/ModalManager/ModalManagerProvider";
  export * from "react-declarative-lite/components/ModalManager/model/IModal";
  export * from "react-declarative-lite/components/ModalManager/model/ModalRender";
  export { useModalManager } from "react-declarative-lite/components/ModalManager/hooks/useModalManager";
  export { default } from "react-declarative-lite/components/ModalManager/ModalManagerProvider";
}

declare module "react-declarative-lite/model/IAnything" {
  export type IAnything = any;
  export default IAnything;
}

declare module "react-declarative-lite/model/IRowData" {
  /**
   * Represents a data row in a table.
   * @interface
   */
  export interface IRowData {
    id: RowId;
  }
  /**
   * Represents a unique identifier for a row in a data table.
   */
  export type RowId = string | number;
  export default IRowData;
}

declare module "react-declarative-lite/model/IOnePublicProps" {
  import IAnything from "react-declarative-lite/model/IAnything";
  import IField, { Value } from "react-declarative-lite/model/IField";
  import IOneProps from "react-declarative-lite/model/IOneProps";
  /**
   * Represents the interface for the public properties of the class IOnePublicProps.
   *
   * @template Data - The type of data.
   * @template Payload - The type of payload.
   * @template Field - The type of field.
   *
   * @interface IOnePublicProps
   * @extends Omit<IOneProps<Data, Payload, Field>, keyof { features: never }>
   */
  export interface IOnePublicProps<
    Data = IAnything,
    Payload = IAnything,
    Field = IField<Data>,
  > extends Omit<
      IOneProps<Data, Payload, Field>,
      keyof {
        features: never;
        readTransform: never;
        writeTransform: never;
      }
    > {
    /**
     * Represents an alternative way to provide data into
     * component except `handler`. The casual way more native to React developers
     */
    data?: Data | null;
    /**
     * Represents an optional onFocus event handler.
     *
     * @template Data - The data type of the component.
     * @template Payload - The type of the event payload.
     * @template Field - The type of the focused field.
     *
     * @param data - The current data of the component.
     * @param payload - The event payload.
     * @param field - The focused field.
     *
     * @return {void} - This function does not return any value.
     */
    onFocus?: IOneProps<Data, Payload, Field>["focus"];
    /**
     * Called when the blur event is triggered on the component.
     *
     * @callback onBlurCallback
     * @param data - The data related to the component.
     * @param payload - The payload associated with the blur event.
     * @param field - The field on which the blur event occurred.
     */
    onBlur?: IOneProps<Data, Payload, Field>["blur"];
    /**
     * Represents the optional 'onMenu' property of type `IOneProps<Data, Payload, Field>['menu']`.
     * This property is used to define the event handler function when a menu action is triggered.
     * The event handler will receive three arguments: `data`, `payload`, and `field`.
     *
     * @typeParam Data - The data type for the menu.
     * @typeParam Payload - The payload type for the menu.
     * @typeParam Field - The field type for the menu.
     *
     * @param data - The data associated with the menu.
     * @param payload - The payload associated with the menu.
     * @param field - The field associated with the menu.
     *
     * @returns
     */
    onMenu?: IOneProps<Data, Payload, Field>["menu"];
    /**
     * Represents the `onReady` property of `IOneProps`.
     *
     * @template Data - The type of the data being handled.
     * @template Payload - The type of the payload being used.
     * @template Field - The type of the field being manipulated.
     *
     * @property [onReady] - Optional property that defines a callback
     * function to be executed when the component is ready.
     */
    onReady?: IOneProps<Data, Payload, Field>["ready"];
    /**
     * The `onChange` function is an optional property of the `IOneProps` interface.
     * It represents the callback function that is invoked when a change event occurs.
     *
     * @template Data - The type of data being handled.
     * @template Payload - The type of payload being passed to the callback function.
     * @template Field - The type of field being modified.
     *
     * @param payload - The payload passed to the callback function.
     * @param field - The field being modified.
     * @returns
     */
    onChange?: IOneProps<Data, Payload, Field>["change"];
    /**
     * Represents a callback function that gets triggered when an onClick event occurs.
     *
     * @template Data - The type of data associated with the component.
     * @template Payload - The type of payload that is passed to the function.
     * @template Field - The type of field used by the component.
     *
     * @param data - The data associated with the component.
     * @param payload - The payload passed to the function.
     * @param field - The field used by the component.
     *
     * @returns
     */
    onClick?: IOneProps<Data, Payload, Field>["click"];
    /**
     * Represents the onInvalid callback function, an optional property of the IOneProps interface.
     * This function is executed when the invalidity condition is met.
     *
     * @template Data - The type of data being processed.
     * @template Payload - The type of payload being passed.
     * @template Field - The type of field being validated.
     *
     * @param invalidity - The invalidity details of the field being validated.
     *
     * @returns void
     */
    onInvalid?: IOneProps<Data, Payload, Field>["invalidity"];
    /**
     * Represents the `onLoadStart` event handler of a component.
     *
     * @template Data - The type of data passed to the component.
     * @template Payload - The type of payload passed to the event handler.
     * @template Field - The type of field associated with the event.
     *
     * @param payload - The payload passed to the event handler.
     *
     * @returns
     */
    onLoadStart?: IOneProps<Data, Payload, Field>["loadStart"];
    /**
     * Represents the optional `onLoadEnd` property of the `IOneProps` interface.
     *
     * This property defines a callback function that is invoked when the loading of data ends.
     *
     * @template Data - The type of the data being loaded.
     * @template Payload - The type of the payload sent with the load operation.
     * @template Field - The type of the field affected by the load operation.
     *
     * @param data - The loaded data.
     * @param payload - The payload sent with the load operation.
     * @param field - The field affected by the load operation.
     * @returns
     */
    onLoadEnd?: IOneProps<Data, Payload, Field>["loadEnd"];
    /**
     * Represents the features of a variable.
     *
     * @typedef Features
     */
    features?:
      | Record<string, Value>
      | string[]
      | (() => string[] | Record<string, Value>);
    /**
     * Represents the field value transform factory
     *
     * @typedef Features
     */
    readTransform?: (
      value: string | string[],
      name: string,
      data: Data,
      payload: Payload,
    ) => Value;
    writeTransform?: (
      value: string | string[],
      name: string,
      data: Data,
      payload: Payload,
    ) => Value;
  }
  export default IOnePublicProps;
}

declare module "react-declarative-lite/components/One/components/common/VirtualListBox" {
  import * as React from "react";
  /**
   * Interface for the props of the VirtualListBox component.
   */
  interface IVirtualListBoxProps extends React.HTMLAttributes<HTMLElement> {
    children?: React.ReactNode;
  }
  /**
   * A virtual list box component that renders a list of items in a virtualized manner.
   *
   * @component
   *
   * @param props - The props object.
   * @param props.className - The class name to apply to the list box container.
   * @param props.children - The children to render within the list box.
   * @param props.role - The role attribute value for the list box container.
   * @param ref - The ref object for accessing the underlying HTMLDivElement.
   *
   * @returns The rendered list box component.
   */
  export const VirtualListBox: React.ForwardRefExoticComponent<
    IVirtualListBoxProps & React.RefAttributes<HTMLDivElement>
  >;
  export default VirtualListBox;
}

declare module "react-declarative-lite/utils/openBlank" {
  /**
   * Opens the given URL in a new browser tab.
   *
   * @param url - The URL to open in a new tab.
   *
   * @returns
   */
  export const openBlank: {
    (url: string): Promise<void>;
    override(ref: (url: string) => void): void;
    listen(fn: (url: string) => void): () => void;
  };
  export default openBlank;
}

declare module "react-declarative-lite/utils/randomString" {
  /**
   * Generates a random string using the UUID library.
   *
   * @returns A randomly generated string.
   */
  export const randomString: () => string;
  export default randomString;
}

declare module "react-declarative-lite/utils/chooseFile" {
  /**
   * Opens a file chooser dialog and allows the user to select a file.
   *
   * @param [accept] - Optional file type filter. Can be a comma-separated list of MIME types or file extensions.
   * @returns A promise that resolves with the selected file or null if the selection was canceled.
   */
  export const chooseFile: (
    accept?: string | undefined,
  ) => Promise<File | null>;
  export default chooseFile;
}

declare module "react-declarative-lite/utils/compareFulltext" {
  /**
   * Compares the full text in a given data object with a search term.
   *
   * @template T - The generic type for the data object.
   * @param data - The data object to compare.
   * @param search - The search term to compare against the data object.
   * @param keys - The keys in the data object to compare against.
   * @returns - Returns true if the full text in the data object contains the search term, false otherwise.
   */
  export const compareFulltext: <T extends Record<string, any>>(
    data: T,
    search: string,
    ...keys: string[]
  ) => boolean;
  export default compareFulltext;
}

declare module "react-declarative-lite/utils/promiseState" {
  /**
   * Determines the state of a given promise.
   *
   * @param promise - The promise to check the state of.
   *
   * @returns - The state of the promise, which can be either 'sync' or 'async'.
   */
  export const promiseState: <T = any>(
    promise: T | Promise<T>,
  ) => "async" | "sync";
  export const promiseValue: <T = any>(promise: T | Promise<T>) => T | null;
  export default promiseState;
}

declare module "react-declarative-lite/utils/compareArray" {
  /**
   * Compares two arrays and determines if they are equal.
   *
   * @param a_arr - The first array to compare.
   * @param b_arr - The second array to compare.
   * @returns - Returns `true` if the arrays are equal, otherwise `false`.
   */
  export const compareArray: (a_arr: any, b_arr: any) => boolean;
  export default compareArray;
}

declare module "react-declarative-lite/utils/isObject" {
  /**
   * Check if a given value is an object.
   *
   * @param obj - The value to check.
   * @returns - Returns `true` if the value is an object, else `false`.
   */
  export const isObject: (obj: any) => boolean;
  export default isObject;
}

declare module "react-declarative-lite/utils/createValueProvider" {
  import React from "react";
  /**
   * Creates a value provider with a default value.
   * @param defaultValue - The default value for the provider.
   * @returns A tuple containing the provider component and a hook to access the value.
   */
  export const createValueProvider: <P extends unknown = object>(
    defaultValue?: P | undefined,
  ) => readonly [
    ({
      children,
      payload,
    }: {
      children: React.ReactNode;
      payload: P;
    }) => JSX.Element,
    () => P,
  ];
  export default createValueProvider;
}

declare module "react-declarative-lite/utils/createStateProvider" {
  import * as React from "react";
  /**
   * Creates a state provider with a given state type.
   *
   * @template S - The type of the state
   * @returns - A tuple containing the Provider component and the useStateProvider function.
   */
  export const createStateProvider: <S extends unknown>() => readonly [
    ({
      children,
      initialState,
      onChange,
    }: {
      onChange?: ((state: S) => void) | undefined;
      children: React.ReactNode;
      initialState: S | (() => S);
    }) => JSX.Element,
    () => readonly [S, (state: S | ((prevState: S) => S)) => void],
  ];
  export default createStateProvider;
}

declare module "react-declarative-lite/utils/normalizeText" {
  import IField from "react-declarative-lite/model/IField";
  /**
   * Represents the configuration options for input formatting.
   * @interface
   */
  interface IConfig {
    inputFormatterSymbol: IField["inputFormatterSymbol"];
    inputFormatterAllowed: IField["inputFormatterAllowed"];
    inputFormatterReplace: IField["inputFormatterReplace"];
    inputFormatterTemplate: IField["inputFormatterTemplate"];
    inputFormatter: IField["inputFormatter"];
  }
  /**
   * Normalize text by applying inputFormatter function to each character.
   *
   * @param text - The input text to normalize.
   * @param config - The configuration object.
   * @param [config.inputFormatterSymbol='0'] - The symbol used in input formatter.
   * @param [config.inputFormatterAllowed] - The list of allowed characters in input formatter.
   * @param [config.inputFormatterReplace] - The mapping of characters to be replaced in input formatter.
   * @param [config.inputFormatterTemplate=''] - The template used in input formatter.
   * @param [config.inputFormatter] - The input formatter function to apply on each character.
   * @returns - The normalized text.
   */
  export const normalizeText: (
    text: string,
    {
      inputFormatterSymbol: symbol,
      inputFormatterAllowed: allowed,
      inputFormatterReplace: replace,
      inputFormatterTemplate: template,
      inputFormatter,
    }?: Partial<IConfig>,
  ) => string;
  export default normalizeText;
}

declare module "react-declarative-lite/utils/formatText" {
  /**
   * Represents a set of parameters for custom symbol validation and replacement.
   * @interface
   */
  interface IParams {
    symbol?: string;
    allowed?: RegExp | ((char: string, idx: number) => boolean);
    replace?: (char: string) => string | null;
  }
  /**
   * Formats a raw string using a template and optional parameters.
   *
   * @param raw - The raw string to be formatted.
   * @param template - The template string used for formatting.
   * @param [params] - Optional parameters for customization.
   * @param [params.symbol='0'] - The symbol used in the template to indicate characters to be replaced.
   * @param [params.allowed] - A function or regular expression used to filter characters in the raw string.
   * @param [params.replace] - A function used to replace characters in the raw string.
   * @returns The formatted string.
   */
  export const formatText: (
    raw: string,
    template: string,
    { symbol, allowed, replace }?: IParams,
  ) => string;
  export default formatText;
}

declare module "react-declarative-lite/utils/hof/singleshot" {
  /**
   * @interface IClearable
   * @description An interface representing an object that can be cleared.
   */
  export interface IClearable {
    clear: () => void;
  }
  /**
   * Creates a function that is only executed once, and then memoizes and returns the result.
   *
   * @template T - The type of the function to be executed once.
   * @param run - The function to be executed once.
   * @returns - The executed function with additional "clear" method to reset the execution state.
   */
  export const singleshot: <T extends (...args: any[]) => any>(
    run: T,
  ) => T & IClearable;
  export default singleshot;
}

declare module "react-declarative-lite/utils/hof/singlerun" {
  /**
   * Interface for classes that can be cleared.
   * @interface
   */
  export interface IClearable {
    clear: () => void;
  }
  /**
   * Interface for reading task status
   * @interface
   */
  interface ITaskStatus {
    getStatus: () => "pending" | "fulfilled" | "rejected" | "ready";
  }
  /**
   * A class representing a task.
   *
   * @class
   */
  export class Task {
    readonly target: Promise<any>;
    /**
     * Retrieves the current status value.
     *
     * @return The value of the status.
     */
    get status(): "pending" | "fulfilled" | "rejected";
    /**
     * Constructor for creating an instance of the class.
     *
     * @param target - The target promise to be handled.
     *
     * @return - This method does not return any value.
     */
    constructor(target: Promise<any>);
  }
  /**
   * Represents a higher-order function that runs a task only once and provides a way to clear the result.
   * @template T - The function type.
   * @param run - The function to be executed.
   * @returns - The wrapped function with additional clear functionality.
   */
  export const singlerun: <T extends (...args: any[]) => any>(
    run: T,
  ) => T & IClearable & ITaskStatus;
  export default singlerun;
}

declare module "react-declarative-lite/utils/hof/cancelable" {
  /**
   * Represents a wrapped function that returns a promise.
   * @template T - The type of the result of the wrapped function.
   * @template P - The types of the parameters of the wrapped function.
   */
  export interface IWrappedFn<T extends any = any, P extends any[] = any> {
    (...args: P): Promise<T | typeof CANCELED_SYMBOL>;
    cancel(): void;
  }
  /**
   * Symbol representing cancellation status.
   *
   * @type {Symbol}
   * @name CANCELED_SYMBOL
   */
  export const CANCELED_SYMBOL: unique symbol;
  /**
   * Wraps a promise function and provides cancellation functionality.
   *
   * @param promise - The promise function to wrap.
   * @returns The wrapped function with cancellation capability.
   * @template T - The type of the promise's resolved value.
   * @template P - The type of the promise function's arguments.
   */
  export const cancelable: <T extends unknown = any, P extends any[] = any[]>(
    promise: (...args: P) => Promise<T>,
  ) => IWrappedFn<T, P>;
  export default cancelable;
}

declare module "react-declarative-lite/utils/hof/debounce" {
  /**
   * Interface representing an object that can be cleared and flushed.
   */
  export interface IClearable {
    clear: () => void;
    flush: () => void;
    pending: () => boolean;
  }
  /**
   * Creates a debounced version of a function.
   *
   * @template T - The type of the original function.
   * @param run - The function to debounce.
   * @param [delay=1000] - The delay in milliseconds before executing the debounced function.
   * @returns - The debounced function with additional methods for clearing and flushing.
   */
  export const debounce: <T extends (...args: any[]) => any>(
    run: T,
    delay?: number,
  ) => T & IClearable;
  export default debounce;
}

declare module "react-declarative-lite/utils/hof/queued" {
  import { CANCELED_SYMBOL } from "react-declarative-lite/utils/hof/cancelable";
  /**
   * Represents a wrapped function that returns a Promise.
   * @template T - The type of the value returned by the wrapped function.
   * @template P - The types of the parameters of the wrapped function.
   */
  export interface IWrappedFn<T extends any = any, P extends any[] = any> {
    (...args: P): Promise<T | typeof CANCELED_SYMBOL>;
    clear(): void;
    cancel(): void;
  }
  /**
   * Creates a wrapper function for a Promise that allows for cancellation and clearing of queued Promises.
   *
   * @template T - The resolved value of the Promise.
   * @template P - The types of the arguments passed to the promise function.
   * @param promise - The promise function to be wrapped.
   * @returns - The wrapped function.
   */
  export const queued: <T extends unknown = any, P extends any[] = any[]>(
    promise: (...args: P) => Promise<T>,
  ) => IWrappedFn<T, P>;
  export { CANCELED_SYMBOL };
  export default queued;
}

declare module "react-declarative-lite/utils/hof/cached" {
  /**
   * Interface for objects that can be cleared.
   *
   * @interface
   */
  interface IClearable {
    clear: () => void;
  }
  /**
   * Caches the result of a function based on the change of arguments.
   * @template T - The type of the function to be cached.
   * @template A - The type of the arguments of the function.
   * @param changed - Function to determine if the arguments have changed.
   * @param run - The function to be cached.
   * @returns - The cached function with additional clear method.
   */
  export const cached: <T extends (...args: A) => any, A extends any[]>(
    changed: (prevArgs: A, currentArgs: A) => boolean,
    run: T,
  ) => T & IClearable;
  export default cached;
}

declare module "react-declarative-lite/utils/hof/memoize" {
  /**
   * Interface representing a clearable object.
   * @template K - The type of the key.
   */
  export interface IClearable<K = string> {
    clear: (key?: K) => void;
  }
  /**
   * Represents a reference to a value of type T.
   *
   * @template T - The type of the value referenced by this reference.
   */
  export interface IRef<T = any> {
    current: T;
  }
  /**
   * Represents a generic control interface with key-value pair operations.
   * @template K The type of keys.
   * @template V The type of values.
   * @interface
   */
  export interface IControl<K, V> {
    /**
     * Adds a key-value pair to the control.
     * @param key The key to add.
     * @param value The value to associate with the key.
     */
    add: (key: K, value: V) => void;
    /**
     * Removes a key and its associated value from the control.
     * @param key The key to remove.
     * @returns true if ok
     */
    remove: (key: K) => boolean;
  }
  /**
   * Defines the GET_VALUE_MAP constant.
   *
   * This symbol is used to uniquely identify the 'get-value-map' property in an object or map.
   * It can be used as a key to retrieve or set a value from a map.
   *
   * @const {symbol} GET_VALUE_MAP - The symbol representing the 'get-value-map' property.
   */
  export const GET_VALUE_MAP: unique symbol;
  /**
   * A memoization function that caches the result of a function based on its arguments.
   *
   * @template T - The function type that will be memoized
   * @template A - The argument types of the function
   * @template K - The key type used to store the memoized results
   * @param key - A function that generates a unique key based on the arguments of the original function
   * @param run - The original function to be memoized
   * @returns - A memoized version of the original function with the ability to clear the cache
   */
  export const memoize: <
    T extends (...args: A) => any,
    A extends any[],
    K = string,
  >(
    key: (args: A) => K,
    run: T,
  ) => T & IClearable<K> & IControl<K, ReturnType<T>>;
  export default memoize;
}

declare module "react-declarative-lite/utils/hof/trycatch" {
  interface IError extends Error {}
  /**
   * Represents a configuration interface.
   *
   * @interface
   */
  interface IConfig {
    allowedErrors?: {
      new (): IError;
    }[];
    fallback?: (error: Error) => void;
    defaultValue: null | false;
  }
  /**
   * A higher-order function that wraps the provided function with a try-catch block. It catches any errors that occur during the execution of the function and handles them according to
   * the specified configuration.
   *
   * @template T - The type of the function being wrapped
   * @template A - An array of arguments that the function accepts
   * @template V - The type of the value returned by the function
   *
   * @param run - The function to be wrapped
   * @param config - The configuration object
   * @param config.fallback - The fallback function to be called with the caught error (optional)
   * @param config.defaultValue - The default value to be returned if an error occurs (optional, default: null)
   *
   * @returns - The wrapped function that handles errors and returns the result or the default value
   */
  export const trycatch: <
    T extends (...args: A) => any,
    A extends any[],
    V extends unknown,
  >(
    run: T,
    { allowedErrors, fallback, defaultValue }?: Partial<IConfig>,
  ) => (...args: A) => ReturnType<T> | null;
  export default trycatch;
}

declare module "react-declarative-lite/utils/sleep" {
  /**
   * Delays the execution for the specified amount of time.
   *
   * @param [timeout=1000] - The duration to wait in milliseconds.
   * @returns A promise that resolves once the timeout has elapsed.
   */
  export const sleep: (timeout?: number) => Promise<void>;
  export default sleep;
}

declare module "react-declarative-lite/utils/deepFlat" {
  /**
   * A utility function to deep flatten an array of objects.
   *
   * @param arr - The input array to be deep flattened.
   * @returns - The deep flattened array.
   * @template T - The type of elements in the input array.
   */
  export const deepFlat: <T = any>(arr?: T[]) => T[];
  export default deepFlat;
}

declare module "react-declarative-lite/utils/rx/BehaviorSubject" {
  import Subject from "react-declarative-lite/utils/rx/Subject";
  import type TBehaviorSubject from "react-declarative-lite/model/TBehaviorSubject";
  import TObserver, {
    TObservable,
  } from "react-declarative-lite/model/TObserver";
  /**
   * Represents a BehaviorSubject that extends the Subject class and provides the functionality of an observable and an observer.
   *
   * @template Data - The type of the data that the BehaviorSubject holds.
   */
  export class BehaviorSubject<Data = any>
    extends Subject<Data>
    implements TBehaviorSubject<Data>, TObservable<Data>
  {
    constructor(_data?: Data | null);
    /**
     * Retrieves the data stored in the instance.
     *
     * @return The data stored in the instance.
     */
    get data(): Data | null;
    /**
     * Sets the given data and calls the next method of the super class asynchronously.
     *
     * @param data - The data to be set.
     * @return Resolves when super class's next method is called.
     */
    next: (data: Data) => Promise<void>;
    /**
     * Creates a new observer.
     *
     * @returns The observer instance.
     */
    toObserver: () => TObserver<Data>;
  }
  export { TBehaviorSubject };
  export default BehaviorSubject;
}

declare module "react-declarative-lite/utils/rx/EventEmitter" {
  type EventKey = string | symbol;
  type Function = (...args: any[]) => void;
  /**
   * Class representing an event emitter.
   * @class
   */
  export class EventEmitter {
    /**
     * Check if the object has any listeners attached to it.
     *
     * @return True if the object has listeners, false otherwise.
     */
    get hasListeners(): boolean;
    /**
     * Retrieves the listeners associated with the given event key.
     *
     * @param key - The event key to retrieve the listeners for.
     * @returns An array of listeners associated with the given event key.
     */
    getListeners: (key: EventKey) => Function[];
    /**
     * Subscribes a callback function to the specified event name.
     *
     * @param eventName - The key of the event.
     * @param callback - The callback function to be executed when the event is triggered.
     * @returns
     */
    subscribe: (eventName: EventKey, callback: Function) => void;
    /**
     * Removes a callback function from the list of event listeners for the specified event.
     *
     * @param eventName - The key of the event to unsubscribe from.
     * @param callback - The callback function to remove from the event listeners.
     * @returns
     */
    unsubscribe: (eventName: EventKey, callback: Function) => void;
    /**
     * Clears all event handlers registered for the current object.
     * @function
     * @returns
     */
    unsubscribeAll: () => void;
    /**
     * Subscribes a callback function to the given event name. The callback function will be triggered only once when the event is emitted.
     *
     * @param eventName - The name of the event to subscribe to.
     * @param callback - The callback function to be executed when the event is emitted.
     * @returns - A function that can be called to unsubscribe the callback function from the event.
     */
    once: (eventName: EventKey, callback: Function) => () => void;
    /**
     * Emits the given event with the specified arguments.
     *
     * @param eventName - The name of the event to emit.
     * @param args - The arguments to pass to the event listeners.
     * @returns - A promise that resolves when all event listeners have completed.
     */
    emit: (eventName: EventKey, ...args: any[]) => Promise<void>;
  }
  export default EventEmitter;
}

declare module "react-declarative-lite/utils/rx/Observer" {
  import type TObserver from "react-declarative-lite/model/TObserver";
  export const LISTEN_CONNECT: unique symbol;
  export const LISTEN_DISCONNECT: unique symbol;
  type Fn = (...args: any[]) => void;
  /**
   * A class representing an Observer.
   *
   * @template Data - The type of data to observe.
   */
  export class Observer<Data = any> implements TObserver<Data> {
    /**
     * Returns the current value of the 'isShared' property.
     *
     * @returns - The value of the 'isShared' property.
     */
    get isShared(): boolean;
    /**
     * Returns whether the given event has any listeners.
     *
     * @returns True if there are listeners for the event, otherwise false.
     */
    get hasListeners(): boolean;
    constructor(dispose: Fn);
    /**
     * Sets up a listener for the connect event on the broadcast channel.
     *
     * @param fn - The callback function to be executed once the connect event is triggered.
     * @returns
     */
    [LISTEN_CONNECT](fn: () => void): void;
    /**
     * Adds a listener for the DISCONNECT_EVENT.
     *
     * @param fn - The function to be executed when the event occurs.
     */
    [LISTEN_DISCONNECT](fn: () => void): void;
    /**
     * Creates a new Observer.
     * @template T - The type of the value emitted by the observer.
     * @param callbackfn - A function to apply to each value emitted by the observer.
     * @returns - The created Observer.
     */
    map: <T = any>(callbackfn: (value: Data) => T) => Observer<T>;
    /**
     * Applies a callback function to each value emitted by the Observable and flattens the resulting values into a new Observable.
     *
     * @template T - The type of values emitted by the Observable.
     *
     * @param callbackfn - A callback function that accepts a value emitted by the Observable and returns an array of values or a single value.
     *
     * @returns - A new Observer that emits the flattened values.
     */
    flatMap: <T = any>(callbackfn: (value: Data) => T[]) => Observer<T>;
    /**
     * Operator function to create a new observer with a transformed data type.
     *
     * @template T - The type of the transformed data.
     * @param callbackfn - A callback function that takes the target observer and returns a new observer with transformed data.
     * @returns - A new observer with the transformed data type.
     */
    operator: <T = any>(
      callbackfn: (target: TObserver<Data>) => TObserver<T>,
    ) => TObserver<T>;
    /**
     * Reduces the data emitted by an Observer using a callback function and an initial value.
     *
     * @template T - The type of the accumulator and the return value.
     * @param callbackfn - The callback function to execute on each emitted value.
     *   It takes an accumulator value and the current value being emitted, and returns the new accumulator value.
     * @param begin - The initial value of the accumulator.
     * @returns - An Observer that emits the accumulated value after each emission.
     */
    reduce: <T = any>(
      callbackfn: (acm: T, cur: Data) => T,
      begin: T,
    ) => Observer<T>;
    /**
     * Creates and returns an observer function that splits an array of data
     * into a nested array of a specified length.
     *
     * @returns The split observer function.
     */
    split: () => Observer<ReadonlyArray<FlatArray<Data[], 20>>>;
    /**
     * Creates an Observer with asynchronous mapping functionality.
     *
     * @template T - The type of the result of the mapping function.
     * @param callbackfn - The function used to map the incoming data.
     * @param [fallbackfn] - An optional fallback function to handle error cases. If not provided, the error will be rethrown.
     * @returns - The created Observer.
     */
    mapAsync: <T = any>(
      callbackfn: (value: Data) => Promise<T>,
      fallbackfn?: ((e: Error) => void) | undefined,
    ) => Observer<T>;
    /**
     * Creates a filtered observer.
     *
     * @param callbackfn - The filter callback function.
     * @returns The filtered observer.
     */
    filter: (callbackfn: (value: Data) => boolean) => Observer<Data>;
    /**
     * Attaches a callback function to the tap observer. The callback function will be called with a value of type `Data` when the tap observer is triggered.
     *
     * @param callbackfn - A callback function that takes a value of type `Data` as an argument.
     * @returns - An observer object that can be used to manage the tap subscription.
     */
    tap: (callbackfn: (value: Data) => void) => Observer<Data>;
    /**
     * Creates a debounced observer that emits values at a specified delay.
     *
     * @param delay - The delay (in milliseconds) between value emissions.
     * @returns The debounced observer.
     */
    debounce: (delay?: number | undefined) => Observer<Data>;
    /**
     * Creates a delayed observer that emits values at a specified delay.
     *
     * @param delay - The delay (in milliseconds) between value emissions.
     * @returns The debounced observer.
     */
    delay: (delay?: number | undefined) => Observer<Data>;
    /**
     * Emits the specified data to all observers.
     *
     * @param data - The data to be emitted.
     */
    emit: (data: Data) => Promise<void>;
    /**
     * Subscribes to the `OBSERVER_EVENT` and invokes the provided callback function.
     * Emits the `CONNECT_EVENT`.
     * Returns a composed function that will try to dispose and unsubscribe the callback.
     *
     * @param callbackfn - The callback function to be invoked when `OBSERVER_EVENT` is emitted.
     * @returns - The composed function that will try to dispose and unsubscribe the callback.
     */
    connect: (
      callbackfn: (value: Data) => void,
    ) => import("../compose").Function;
    /**
     * Executes a callback function once and provides a way to unsubscribe from further executions.
     *
     * @param callbackfn - The callback function to be executed once.
     * @returns - A function that can be called to unsubscribe from further executions of the callback.
     */
    once: (callbackfn: (value: Data) => void) => Fn;
    /**
     * Marks a variable as shared.
     *
     * @returns The shared variable object.
     */
    share: () => this;
    /**
     * Creates an observable sequence that emits values at specified intervals.
     * @param [interval=1000] - The time interval between emissions in milliseconds.
     * @returns The observer object to subscribe to.
     */
    repeat: (interval?: number) => Observer<Data>;
    /**
     * Merges an observer with the given observer, returning a new observer that emits values from both observers.
     *
     * @template T - The type of value emitted by the observer.
     * @param observer - The observer to merge with.
     * @returns - The merged observer.
     */
    merge: <T = any>(observer: TObserver<T>) => Observer<Data | T>;
    /**
     * Unsubscribes from all events and performs cleanup.
     *
     * @function
     * @name unsubscribe
     * @memberOf undefined
     *
     * @returns
     */
    unsubscribe: () => void;
    /**
     * Converts the current instance to a Promise that resolves with the data.
     *
     * @returns A Promise that resolves with the data.
     */
    toPromise: () => Promise<Data>;
    /**
     * Creates a context for iterating asynchronously using a generator function.
     *
     * @returns The iterator context object.
     * @property iterate - The generator function that can be used to iterate over the values.
     * @property done - Marks the iteration as complete.
     */
    toIteratorContext: () => {
      iterate: () => AsyncGenerator<Awaited<Data>, void, unknown>;
      done(): void;
    };
  }
  export { TObserver };
  export default Observer;
}

declare module "react-declarative-lite/utils/rx/Operator" {
  /**
   * Represents a collection of static operator functions.
   */
  export class Operator {
    static take: <T = any>(
      count: number,
    ) => (
      target: import("./Observer").TObserver<T>,
    ) => import("./Observer").TObserver<T>;
    static skip: <T = any>(
      the: number,
    ) => (
      target: import("./Observer").TObserver<T>,
    ) => import("./Observer").TObserver<T>;
    static pair: <T = any>(
      by?: number,
    ) => (
      target: import("./Observer").TObserver<T>,
    ) => import("./Observer").TObserver<[T, T]>;
    static group: <T = any>(
      by: number,
    ) => (
      target: import("./Observer").TObserver<T>,
    ) => import("./Observer").TObserver<T[]>;
    static strideTricks: <T = any>(
      strideSize: number,
      step?: number,
    ) => (
      target: import("./Observer").TObserver<T[]>,
    ) => import("./Observer").TObserver<T[][]>;
    static distinct: <T = any, V = any>(
      getCompareValue?: (value: T) => V,
    ) => (
      target: import("./Observer").TObserver<T>,
    ) => import("./Observer").TObserver<T>;
    static liveness: <T = any>(
      fallbackfn: () => void,
      waitFor?: number,
    ) => (
      target: import("./Observer").TObserver<T>,
    ) => import("./Observer").TObserver<T>;
    static count: <T = any>() => (
      target: import("./Observer").TObserver<T>,
    ) => import("./Observer").TObserver<import("./lib/count").ICounted<T>>;
  }
  export default Operator;
}

declare module "react-declarative-lite/utils/rx/Subject" {
  import Observer from "react-declarative-lite/utils/rx/Observer";
  import type TSubject from "react-declarative-lite/model/TSubject";
  import TObserver, {
    TObservable,
  } from "react-declarative-lite/model/TObserver";
  export const SUBJECT_EVENT: unique symbol;
  type Function = (...args: any[]) => void;
  /**
   * Represents a subject that can emit data and be subscribed to.
   * @class
   * @implements {TSubject<Data>}
   * @implements {TObservable<Data>}
   * @template Data - The type of data that the subject emits.
   */
  export class Subject<Data = any>
    implements TSubject<Data>, TObservable<Data>
  {
    constructor();
    /**
     * Maps the values of the observer using the given callback function.
     *
     * @template T - The type of the mapped values.
     * @param callbackfn - A function that maps each value of the observer.
     * @returns - An observer with the mapped values.
     */
    map: <T = any>(callbackfn: (value: Data) => T) => TObserver<T>;
    /**
     * Applies a transformation function to each value emitted by the observer and flattens the result into a single observer.
     * @template T - The type of values emitted by the observer.
     * @param callbackfn - The transformation function to apply to each value emitted by the observer.
     * @returns - The observer that emits the flattened values.
     */
    flatMap: <T = any>(callbackfn: (value: Data) => T[]) => TObserver<T>;
    /**
     * Applies a reducer function to each value emitted by the observer and returns a single accumulated value.
     *
     * @template T - The type of the accumulated value and emitted values
     * @param callbackfn - A function that accepts the accumulated value and the current emitted value, and returns the new accumulated value
     * @param begin - The initial value for the accumulator
     * @returns - An observer that emits the accumulated value when the original observer completes
     */
    reduce: <T = any>(
      callbackfn: (acm: T, cur: Data) => T,
      begin: T,
    ) => TObserver<T>;
    /**
     * Asynchronously maps the emitted values of the observer using the provided callback function.
     *
     * @template T - The type of the mapped values.
     * @param callbackfn - The callback function that maps the emitted values of the observer.
     * @param [fallbackfn] - The optional fallback function that handles errors during mapping.
     * @returns - Returns a new observer that emits the mapped values.
     */
    mapAsync: <T = any>(
      callbackfn: (value: Data) => Promise<T>,
      fallbackfn?: ((e: Error) => void) | undefined,
    ) => TObserver<T>;
    /**
     * Applies a filtering function to the observer and returns a new observer with filtered values.
     *
     * @param callbackfn - A function that tests each value in the observer. Should return true or false.
     * @returns - A new observer with filtered values.
     */
    filter: (callbackfn: (value: Data) => boolean) => TObserver<Data>;
    /**
     * The tap function allows you to perform side effects without modifying the observed data.
     *
     */
    tap: (callbackfn: (value: Data) => void) => TObserver<Data>;
    /**
     * Applies a callback function to the values emitted by an observer.
     *
     * @param callbackfn - The callback function to apply to the emitted values.
     * @returns - An observer with the applied operator.
     *
     * @template T - The type of values emitted by the observer.
     *
     * @category Observables
     */
    operator: <T = any>(
      callbackfn: (value: TObserver<Data>) => TObserver<T>,
    ) => TObserver<T>;
    /**
     * Splits the observed data into batches of arrays.
     *
     * @returns - The observer that emits batches of arrays.
     */
    split: () => Observer<ReadonlyArray<FlatArray<Data[], 20>>>;
    /**
     * Creates a debounced observer with an optional delay.
     * @param [delay] - The delay in milliseconds before emitting the data.
     * @returns - The debounced observer.
     */
    debounce: (delay?: number | undefined) => TObserver<Data>;
    /**
     * Creates a delayed observer with an optional delay.
     * @param [delay] - The delay in milliseconds before emitting the data.
     * @returns - The delayed observer.
     */
    delay: (delay?: number | undefined) => TObserver<Data>;
    /**
     * Creates an observer that repeats emitting values at a specified interval.
     *
     * @param [interval] - The time interval at which to repeat emitting values.
     * @returns - The created observer.
     */
    repeat: (interval?: number | undefined) => TObserver<Data>;
    /**
     * Merges the provided observer with the current observer instance.
     * Returns a new observer that emits values from both observers.
     *
     * @param observer - The observer to merge with the current observer.
     * @returns - A new observer that emits values from both observers.
     */
    merge: <T = any>(observer: TObserver<T>) => TObserver<Data | T>;
    /**
     * Subscribes to an event.
     *
     * @param callback - The callback function to be invoked when the event is triggered.
     * @returns - A function to unsubscribe from the event.
     */
    subscribe: (callback: Function) => () => void;
    /**
     * Unsubscribes all event listeners.
     *
     * @function unsubscribeAll
     * @instance
     * @returns - No return value.
     */
    unsubscribeAll: () => void;
    /**
     * Executes the provided callback function only once.
     * The callback function will be invoked when the specified event occurs for the first time.
     *
     * @param callback - The function to be executed only once.
     * @returns - A function that removes the registered event listener.
     */
    once: (callback: Function) => () => void;
    /**
     * Calls the next method to emit the specified data using the SUBJECT_EVENT event.
     *
     * @param data - The data to be emitted.
     * @return - Resolves when the emission is complete.
     */
    next(data: Data): Promise<void>;
    /**
     * Creates a new observer to observe the data emitted by a source.
     *
     * @template TObserver - The type of observer.
     * @template Data - The type of data emitted by the source.
     * @returns - The created observer.
     */
    toObserver(): TObserver<Data>;
    /**
     * Converts an observer-based asynchronous operation into a promise-based asynchronous operation.
     *
     * @function toPromise
     * @instance
     * @returns A promise representing the completion or failure of the asynchronous operation.
     */
    toPromise: () => Promise<Data>;
    /**
     * Converts the current object to an iterator context.
     *
     * @function
     * @returns The iterator context representing the current object.
     */
    toIteratorContext: () => {
      iterate(): AsyncGenerator<Data, void, unknown>;
      done(): void;
    };
  }
  export { TSubject };
  export default Subject;
}

declare module "react-declarative-lite/utils/rx/Source" {
  import Observer from "react-declarative-lite/utils/rx/Observer";
  import type TObserver from "react-declarative-lite/model/TObserver";
  import { TSubject } from "react-declarative-lite/utils/rx/Subject";
  import { TBehaviorSubject } from "react-declarative-lite/utils/rx/BehaviorSubject";
  /**
   * The Source class provides utility functions for creating and manipulating Observers.
   */
  export class Source {
    /**
     * Merges multiple observers into a single observer.
     *
     * @template A - The type of observer A.
     * @template B - The type of observer B.
     * @template C - The type of observer C.
     * @template D - The type of observer D.
     * @template E - The type of observer E.
     * @template F - The type of observer F.
     * @template G - The type of observer G.
     * @template H - The type of observer H.
     * @template I - The type of observer I.
     * @template J - The type of observer J.
     *
     * @param observers - An array of observers to merge.
     *
     * @returns - The merged observer.
     */
    static merge: <
      A = never,
      B = never,
      C = never,
      D = never,
      E = never,
      F = never,
      G = never,
      H = never,
      I = never,
      J = never,
    >(
      observers: [
        TObserver<A>,
        (TObserver<B> | undefined)?,
        (TObserver<C> | undefined)?,
        (TObserver<D> | undefined)?,
        (TObserver<E> | undefined)?,
        (TObserver<F> | undefined)?,
        (TObserver<G> | undefined)?,
        (TObserver<H> | undefined)?,
        (TObserver<I> | undefined)?,
        (TObserver<J> | undefined)?,
      ],
    ) => TObserver<A | B | C | D | E | F | G | H | I | J>;
    /**
     * Creates a join observer that combines the values emitted by multiple Observers into a single Observable.
     *
     * @template A - The type of the value emitted by the first Observer.
     * @template B - The type of the value emitted by the second Observer.
     * @template C - The type of the value emitted by the third Observer.
     * @template D - The type of the value emitted by the fourth Observer.
     * @template E - The type of the value emitted by the fifth Observer.
     * @template F - The type of the value emitted by the sixth Observer.
     * @template G - The type of the value emitted by the seventh Observer.
     * @template H - The type of the value emitted by the eighth Observer.
     * @template I - The type of the value emitted by the ninth Observer.
     * @template J - The type of the value emitted by the tenth Observer.
     *
     * @param observers - An array of Observers to join.
     * @param options - Optional parameters for the join operation, including a buffer and a race flag.
     * @param options.buffer - An array to store the latest emitted values from each Observer. Defaults to an empty array.
     * @param options.race - A boolean flag indicating whether to emit the combined values immediately or wait for all Observers to emit a value. Defaults to false.
     *
     * @returns An Observer that emits an array of values, each value being the latest emitted value from the corresponding Observer.
     */
    static join: <
      A = never,
      B = never,
      C = never,
      D = never,
      E = never,
      F = never,
      G = never,
      H = never,
      I = never,
      J = never,
    >(
      observers: [
        TObserver<A>,
        (TObserver<B> | undefined)?,
        (TObserver<C> | undefined)?,
        (TObserver<D> | undefined)?,
        (TObserver<E> | undefined)?,
        (TObserver<F> | undefined)?,
        (TObserver<G> | undefined)?,
        (TObserver<H> | undefined)?,
        (TObserver<I> | undefined)?,
        (TObserver<J> | undefined)?,
      ],
      {
        race,
        buffer,
      }?: {
        buffer?:
          | [
              A,
              (B | undefined)?,
              (C | undefined)?,
              (D | undefined)?,
              (E | undefined)?,
              (F | undefined)?,
              (G | undefined)?,
              (H | undefined)?,
              (I | undefined)?,
              (J | undefined)?,
            ]
          | undefined;
        race?: boolean | undefined;
      },
    ) => TObserver<[A, B, C, D, E, F, G, H, I, J]>;
    /**
     * @typedef Unicast
     * @template Data - The type of data the observer handles.
     *
     * @property factory - A factory function to create the observer.
     * @property isUnicasted - Indicates whether the observer is unicast.
     *
     * @returns - A unicast observer instance.
     */
    static unicast: <Data = any>(
      factory: () => TObserver<Data>,
    ) => TObserver<Data> & {
      isUnicasted: true;
    };
    /**
     * Creates a multicast observer.
     *
     * @template Data - The type of data being observed.
     * @param factory - A factory function that creates the observer.
     * @returns - The multicast observer.
     */
    static multicast: <Data = any>(
      factory: () => TObserver<Data>,
    ) => TObserver<Data> & {
      isMulticasted: true;
      getRef: any;
    };
    /**
     * Creates a hot observable that emits data as it is received from the given emitter.
     *
     * @template Data The type of data emitted by the observable.
     * @param emitter The function that receives a callback to emit data. It should return a cleanup function or `undefined`.
     * @returns The observer that allows subscribing to and unsubscribing from the emitted data.
     */
    static createHot: <Data = any>(
      emitter: (next: (data: Data) => void) => (() => void) | void,
    ) => Observer<Data>;
    /**
     * Creates a cold observable.
     *
     * @param emitter - The emitter function which is called when a subscriber is added.
     *                            It should return a function that is called when the subscription is unsubscribed,
     *                            or return `undefined` if no cleanup is needed.
     * @returns - The created observer.
     */
    static createCold: <Data = any>(
      emitter: (next: (data: Data) => void) => (() => void) | void,
    ) => Observer<Data>;
    /**
     * Creates a new instance of the Cold object.
     */
    static create: <Data = any>(
      emitter: (next: (data: Data) => void) => (() => void) | void,
    ) => Observer<Data>;
    /**
     * Creates a pipe that connects an observer to a subject and emits output values based on a given emitter function.
     *
     * @param target - The observer that will receive output values.
     * @param emitter - A function that takes a subject and a next function and returns an unsubscribe function.
     * @returns The observer that is connected to the subject and emits output values.
     * @template Data - The type of data that will be observed.
     * @template Output - The type of output that will be emitted.
     */
    static pipe: <Data = any, Output = any>(
      target: TObserver<Data>,
      emitter: (
        subject: TSubject<Data>,
        next: (output: Output) => void,
      ) => (() => void) | void,
    ) => Observer<Output>;
    static fromInterval: (delay: number) => TObserver<number>;
    static fromPromise: <Data = any>(
      callbackfn: () => Promise<Data>,
      fallbackfn?: ((e: Error) => void) | undefined,
    ) => TObserver<Data>;
    static fromDelay: (delay: number) => TObserver<void>;
    static fromArray: <Data = any>(
      data: Data,
    ) => TObserver<
      readonly (Data extends readonly (infer InnerArr)[]
        ? InnerArr extends readonly (infer InnerArr)[]
          ? InnerArr extends readonly (infer InnerArr)[]
            ? InnerArr extends readonly (infer InnerArr)[]
              ? InnerArr extends readonly (infer InnerArr)[]
                ? InnerArr extends readonly (infer InnerArr)[]
                  ? InnerArr extends readonly (infer InnerArr)[]
                    ? InnerArr extends readonly (infer InnerArr)[]
                      ? InnerArr extends readonly (infer InnerArr)[]
                        ? InnerArr extends readonly (infer InnerArr)[]
                          ? InnerArr extends readonly (infer InnerArr)[]
                            ? any
                            : InnerArr
                          : InnerArr
                        : InnerArr
                      : InnerArr
                    : InnerArr
                  : InnerArr
                : InnerArr
              : InnerArr
            : InnerArr
          : InnerArr
        : Data)[]
    >;
    static fromEvent: (
      event: keyof DocumentEventMap,
    ) => TObserver<
      | MouseEvent
      | UIEvent
      | Event
      | FocusEvent
      | ErrorEvent
      | ProgressEvent<EventTarget>
      | SubmitEvent
      | ClipboardEvent
      | AnimationEvent
      | InputEvent
      | CompositionEvent
      | DragEvent
      | FormDataEvent
      | PointerEvent
      | KeyboardEvent
      | SecurityPolicyViolationEvent
      | TouchEvent
      | TransitionEvent
      | WheelEvent
    >;
    /**
     * Creates a new observer that emits a value from the given data or function.
     *
     * @param data - The data or function to emit from the observer.
     * @returns - The created observer.
     */
    static fromValue: <Data = any>(
      data: Data | (() => Data),
    ) => TObserver<Data>;
    /**
     * Creates an observer from the given subject and returns it.
     *
     * @template Data - The type of data emitted by the observer.
     * @param subject - The subject to create the observer from.
     * @returns - The observer created from the subject.
     */
    static fromSubject: <Data = any>(subject: TSubject<Data>) => Observer<Data>;
    /**
     * Creates an observer from a BehaviorSubject.
     *
     * @template Data The type of data emitted by the BehaviorSubject.
     * @param subject - The BehaviorSubject to create the observer from.
     * @returns The observer created from the BehaviorSubject.
     */
    static fromBehaviorSubject: <Data = any>(
      subject: TBehaviorSubject<Data>,
    ) => Observer<Data>;
  }
  export default Source;
}

declare module "react-declarative-lite/utils/getAvailableFields" {
  import IField from "react-declarative-lite/model/IField";
  import IOnePublicProps from "react-declarative-lite/model/IOnePublicProps";
  /**
   * Returns an array of available fields based on the provided features.
   *
   * @param fields - The list of fields.
   * @param data - The data object.
   * @param payload - The payload object.
   * @param [_features] - The optional features.
   * @returns - The available fields.
   */
  export const getAvailableFields: (
    fields: IField[],
    data: Record<string, any>,
    payload: Record<string, any>,
    _features?: IOnePublicProps["features"],
  ) => {
    visible: IField<any, any>[];
    hidden: IField<any, any>[];
  };
  export default getAvailableFields;
}

declare module "react-declarative-lite/utils/getInitialData" {
  import IField from "react-declarative-lite/model/IField";
  /**
   * Generates initial data based on provided field definitions and payload.
   *
   * @template Data - The type of data object to create.
   * @template Payload - The type of payload used for populating default values.
   *
   * @param fields - The array of field definitions.
   * @param [payload={}] - The payload object used for populating default values.
   *
   * @returns - The generated initial data object.
   */
  export const getInitialData: <
    Data extends {} = any,
    Payload extends unknown = any,
  >(
    fields: IField<Data, Payload>[],
    payload?: Payload,
  ) => Data;
  export default getInitialData;
}

declare module "react-declarative-lite/utils/getInvalidFields" {
  import IInvalidField from "react-declarative-lite/model/IInvalidField";
  import IField from "react-declarative-lite/model/IField";
  export const getInvalidFields: <Data = any, Payload = any>(
    fields: IField<Data, Payload>[],
    data: Data,
    payload: Payload,
  ) => IInvalidField<Data, Payload>[] | null;
  export default getInvalidFields;
}

declare module "react-declarative-lite/utils/getFieldsError" {
  import IField from "react-declarative-lite/model/IField";
  export const getFieldsError: <Data = any, Payload = any>(
    fields: IField<Data, Payload>[],
    data: Data,
    payload: Payload,
  ) => string | null;
  export default getFieldsError;
}

declare module "react-declarative-lite/utils/getFieldVariant" {
  import IField from "react-declarative-lite/model/IField";
  /**
   * Retrieves a list of variants based on the given fields.
   *
   * @param fields - The array of fields to process.
   * @param keyToTitle - (Optional) A function to derive the title from the field name. Default is identity function.
   * @returns - The list of variants, each containing a label and value.
   */
  export const getFieldVariant: (
    fields: IField[],
    {
      keyToTitle,
      ignore,
    }?: {
      keyToTitle?: ((v: string) => string) | undefined;
      ignore?: ((key: string) => boolean) | undefined;
    },
  ) => {
    label: string;
    value: string;
  }[];
  export default getFieldVariant;
}

declare module "react-declarative-lite/components/One/hooks/useDebounce" {
  import { DebouncedControlFunctions } from "react-declarative-lite/components/One/hooks/useDebouncedCallback";
  import { Value } from "react-declarative-lite/model/IField";
  /**
   * Debounces the given value with the specified delay.
   *
   * @param value - The value to be debounced.
   * @param delay - The delay in milliseconds before invoking the debounced value.
   * @param options - The optional configuration options for debounce behavior.
   * @param options.maxWait - The maximum wait time in milliseconds before invoking the debounced value.
   * @param options.leading - Determines if the debounced value should be invoked on the leading edge.
   * @param options.trailing - Determines if the debounced value should be invoked on the trailing edge.
   * @param options.equalityFn - The custom equality function to compare previous and current values.
   * @returns An array containing the debounced value and control functions for the debounced callback.
   */
  export function useDebounce<T extends any = Value>(
    value: T,
    delay: number,
    options?: {
      maxWait?: number;
      leading?: boolean;
      trailing?: boolean;
      equalityFn?: (left: T, right: T) => boolean;
    },
  ): [T, DebouncedControlFunctions];
  export default useDebounce;
}

declare module "react-declarative-lite/components/One/hooks/useDebouncedCallback" {
  /**
   * Represents the options for a class.
   */
  export interface Options {
    maxWait?: number;
    leading?: boolean;
    trailing?: boolean;
  }
  /**
   * Interface for DebouncedControlFunctions.
   *
   * @interface
   */
  export interface DebouncedControlFunctions {
    cancel: () => void;
    flush: () => void;
    pending: () => boolean;
  }
  type value = object | string | number | boolean;
  /**
   * Subsequent calls to the debounced function `debounced.callback` return the result of the last func invocation.
   * Note, that if there are no previous invocations it's mean you will get undefined. You should check it in your
   * code properly.
   */
  export interface DebouncedState<T extends (...args: value[]) => ReturnType<T>>
    extends DebouncedControlFunctions {
    callback: (...args: Parameters<T>) => ReturnType<T>;
  }
  /**
   * Returns a debounced version of the provided callback function.
   *
   * @template T - The type of the original callback function.
   * @param func - The original callback function.
   * @param [wait] - The debounce wait time in milliseconds (default: 0).
   * @param [options] - Additional options for debouncing (default: {}).
   * @returns - An object containing the debounced callback and utility functions.
   */
  export function useDebouncedCallback<
    T extends (...args: value[]) => ReturnType<T>,
  >(func: T, wait?: number, options?: Options): DebouncedState<T>;
  export default useDebouncedCallback;
}

declare module "react-declarative-lite/components/common/DatePicker/DatePicker" {
  import dayjs from "dayjs";
  /**
   * A customizable date picker component.
   *
   * @param props - The component props.
   * @param props.date - The initial date to display in the date picker.
   * @param props.minDate - The minimum selectable date in the date picker. Defaults to '1900-01-01'.
   * @param props.maxDate - The maximum selectable date in the date picker. Defaults to '2100-01-01'.
   * @param props.onChange - The callback function triggered when the selected date is changed.
   * @param props.disableFuture - Boolean indicating whether future dates should be disabled. Defaults to false.
   * @param props.animateYearScrolling - Boolean indicating whether to animate the year scrolling. Defaults to true.
   * @param props.openToYearSelection - Boolean indicating whether to open the date picker in year selection mode. Defaults to false.
   *
   * @returns The date picker component.
   */
  export const DatePicker: ({
    date: upperDate,
    minDate,
    maxDate,
    onChange,
    disableFuture,
    animateYearScrolling,
    openToYearSelection,
  }: {
    date?: dayjs.Dayjs | undefined;
    minDate?: string | undefined;
    maxDate?: string | undefined;
    onChange?: ((change: any) => void) | undefined;
    disableFuture?: boolean | undefined;
    animateYearScrolling?: boolean | undefined;
    openToYearSelection?: boolean | undefined;
  }) => JSX.Element;
  export default DatePicker;
}

declare module "react-declarative-lite/components/common/TimePicker/TimePicker" {
  import dayjs from "dayjs";
  /**
   * A TimePicker component that allows users to select a time.
   *
   * @param [options] - The options for the TimePicker.
   * @param [options.onChange] - The callback function triggered when the selected time changes.
   * @param [options.date] - The initial date and time to display in the TimePicker.
   *
   * @returns The TimePicker component.
   */
  export const TimePicker: ({
    onChange,
    date: upperDate,
  }: {
    onChange?: ((change: any) => void) | undefined;
    date?: dayjs.Dayjs | undefined;
  }) => JSX.Element;
  export default TimePicker;
}

declare module "react-declarative-lite/utils/isInvalidFieldData" {
  import IField from "react-declarative-lite/model/IField";
  export const isInvalidFieldData: <Data = any, Payload = any>(
    fields: IField<Data, Payload>[],
    data: Data,
    payload: Payload,
    fallback?:
      | ((
          error: string,
          title: string | undefined,
          name: string | undefined,
        ) => void)
      | undefined,
  ) => boolean;
  export default isInvalidFieldData;
}

declare module "react-declarative-lite/model/TSubject" {
  /**
   * Interface representing a subject that can be subscribed to and trigger callbacks when data is updated.
   *
   * @template Data - The type of data that the subject emits.
   */
  export interface TSubject<Data = unknown> {
    /**
     * Subscribe to receive data updates.
     *
     * @param callback - The callback function to be called when data is received.
     *                             It takes a single parameter, `data`, of type `Data`.
     *                             The callback function is expected to have a `void` return type.
     *
     * @returns - The unsubscribe function. Call this function to stop receiving data updates.
     *                      It has a `void` return type.
     *
     * @typedef Data - The data received by the callback function.
     * @property [property1] - The first property of the data.
     * @property [property2] - The second property of the data.
     * @property [property3] - The third property of the data.
     */
    subscribe: (callback: (data: Data) => void) => () => void;
    /**
     * Executes the provided callback function once, and returns a cleanup function.
     *
     * @param callback - A callback function to be executed once.
     *                            - The callback function is expected to take one argument of type Data and have no return value.
     *
     * @returns - A cleanup function that can be executed to cancel any pending or ongoing execution of the callback.
     */
    once: (callback: (data: Data) => void) => () => void;
    /**
     * Executes the next function with the provided data.
     *
     * @param data - The data to be passed to the next function.
     * @returns
     */
    next: (data: Data) => void;
  }
  export default TSubject;
}

declare module "react-declarative-lite/model/TBehaviorSubject" {
  import type TSubject from "react-declarative-lite/model/TSubject";
  /**
   * Represents a behavior subject.
   * @template Data The type of data that the behavior subject holds.
   * @extends TSubject<Data>
   * @interface
   */
  export interface TBehaviorSubject<Data = unknown> extends TSubject<Data> {
    data: Data | null;
  }
  export default TBehaviorSubject;
}

declare module "react-declarative-lite/model/TObserver" {
  /**
   * TObserver is an interface that represents an observable object.
   * It provides various methods to transform, filter, merge, and consume data emitted by the observable.
   *
   * @template Data - The type of data emitted by the observable.
   */
  export interface TObserver<Data = unknown> {
    /**
     * Unsubscribe Function
     *
     * @returns
     */
    unsubscribe: () => void;
    /**
     * Applies a callback function to each value in a map and returns an observer for the result.
     *
     * @template T - The generic type of the result
     * @param callbackfn - The callback function to be applied to each value
     * @returns - An observer for the result of the callback function
     */
    map: <T = unknown>(callbackfn: (value: Data) => T) => TObserver<T>;
    /**
     * Applies a callback function to each element of the Data array and flattens the result into a single array.
     *
     * @template T - The type of elements in the result array.
     * @param callbackfn - A function that transforms each element of the Data array into an array of values.
     * @returns - An observer that emits the flattened array of transformed values.
     */
    flatMap: <T = any>(callbackfn: (value: Data) => T[]) => TObserver<T>;
    /**
     * Represents a function to reduce the data in an array-like structure.
     *
     * @template T - The type of the accumulator and current value.
     * @param callbackfn - A function that accepts the accumulator (acm) and the current value (cur), and returns the new accumulator value.
     * @param begin - The initial value of the accumulator.
     * @returns - Returns a TObserver object to observe the reduced value.
     */
    reduce: <T = any>(
      callbackfn: (acm: T, cur: Data) => T,
      begin: T,
    ) => TObserver<T>;
    /**
     * Asynchronously applies a callback function to each element of the data stream and returns a TObserver<T> object.
     *
     * @template T - The type of the result returned by the callback function.
     * @param callbackfn - The callback function to apply to each element of the data stream.
     * @param [fallbackfn] - Optional fallback function to handle any errors that occur during the mapping process.
     * @returns - The observer object that can be used to subscribe and handle the mapped data stream.
     */
    mapAsync: <T = unknown>(
      callbackfn: (value: Data) => Promise<T>,
      fallbackfn?: (e: Error) => void,
    ) => TObserver<T>;
    /**
     * @template T - The type of the target observer
     * @param callbackfn - The callback function to be executed
     * @returns - The observer of type T
     */
    operator: <T = any>(
      callbackfn: (target: TObserver<Data>) => TObserver<T>,
    ) => TObserver<T>;
    /**
     * Creates a filtered observer that applies a callback function to each value emitted by the source observer and only emits the values for which the callback returns true.
     *
     * @param callbackfn - A function called for each value emitted by the source observer. Should return true to include the value in the filtered observer
     *, or false otherwise.
     * @returns A new observer that only emits values for which the callback returns true.
     */
    filter: (callbackfn: (value: Data) => boolean) => TObserver<Data>;
    /**
     * Merges the provided observer with another observer of type T, returning a new observer that emits values
     * of type `Data | T`.
     *
     * @template T - The type of the observer to merge with.
     * @param observer - The observer to merge with.
     * @returns - The merged observer.
     */
    merge: <T = unknown>(observer: TObserver<T>) => TObserver<Data | T>;
    /**
     * Represents a tap function that takes a callback function to be executed.
     *
     * @param callbackfn - The callback function to be executed.
     * @returns - The observer used for subscribing to the tap function.
     *
     * @template Data - The type of data that the callback function takes as input.
     */
    tap: (callbackfn: (value: Data) => void) => TObserver<Data>;
    /**
     * Represents a function that splits an array into multiple arrays of a specified length.
     *
     * @returns An observer that emits an array of arrays where each subarray contains a maximum of 20 elements.
     */
    split: () => TObserver<ReadonlyArray<FlatArray<Data[], 20>>>;
    /**
     * Creates a debounced observer with optional delay.
     *
     * @param [delay] - The delay in milliseconds before emitting the observation.
     * @returns - The debounced observer.
     */
    debounce: (delay?: number) => TObserver<Data>;
    /**
     * Creates a delayed observer with optional delay.
     *
     * @param [delay] - The delay in milliseconds before emitting the observation.
     * @returns - The debounced observer.
     */
    delay: (delay?: number) => TObserver<Data>;
    /**
     * A function that returns an observer with optional interval.
     *
     * @param [interval] - The optional interval in milliseconds.
     * @returns - An observer.
     */
    repeat: (interval?: number) => TObserver<Data>;
    /**
     * Represents a connection with a callback function.
     * @typicalname connect
     *
     * @param callbackfn - The callback function to be executed when a value is received.
     * @param value - The value received by the callback function.
     * @returns - A function that can be used to disconnect the connection.
     */
    connect: (callbackfn: (value: Data) => void) => () => void;
    /**
     * Executes a given callback function once and returns a function that can be used to cancel the execution.
     *
     * @param callbackfn - The callback function to execute once.
     * @returns - A function that can be used to cancel the execution of the callback function.
     */
    once: (callbackfn: (value: Data) => void) => () => void;
    /**
     * Represents a function that returns a TObserver object.
     *
     * @typedef share
     * @returns The TObserver object
     */
    share: () => TObserver<Data>;
    /**
     * Converts the given value to a Promise with the specified data type.
     *
     * @function toPromise
     * @returns A Promise with the specified data type.
     */
    toPromise: () => Promise<Data>;
    /**
     * Represents an iterator context.
     *
     * @interface
     */
    toIteratorContext: () => {
      iterate(): AsyncGenerator<Data, void, unknown>;
      done(): void;
    };
  }
  /**
   * Represents an observable class that can be used to observe changes in data.
   * @template Data - The type of data that the observable emits.
   */
  export type TObservable<Data = unknown> = Omit<
    TObserver<Data>,
    keyof {
      unsubscribe: never;
      connect: never;
      once: never;
      share: never;
    }
  >;
  export default TObserver;
}

declare module "react-declarative-lite/utils/createCustomTag" {
  type Destructor = () => void;
  /**
   * Interface representing a configuration object.
   *
   * @typedef IConfig
   * @property onClick - The event handler for the click event.
   * @param onClick.e - The MouseEvent object representing the click event.
   * @property onInit - The event handler for the initialization event.
   * @param onInit.element - The HTMLDivElement object representing the element that was initialized.
   */
  interface IConfig {
    onClick: (e: MouseEvent) => void;
    onInit: (element: HTMLDivElement) => void | Destructor;
  }
  /**
   * Creates a custom HTML tag element with the given name, style, and optional event handlers.
   *
   * @param [name="bgcolor-red"] - The name of the custom HTML tag element.
   * @param [style=""] - The inline style to apply to the custom HTML tag element.
   * @param [{ onClick, onInit }={}] - Optional event handlers for the custom HTML tag element.
   */
  export const createCustomTag: (
    name?: string,
    style?: string,
    { onClick, onInit }?: Partial<IConfig>,
  ) => void;
  export default createCustomTag;
}

declare module "react-declarative-lite/utils/datetime" {
  export const DATE_PLACEHOLDER = "DD/MM/YYYY";
  export const TIME_PLACEHOLDER = "HH:MM";
  export const DATE_EXPR: RegExp;
  export const TIME_EXPR: RegExp;
  /**
   * Represents a specific point in time.
   */
  export class Time {
    readonly hour: number;
    readonly minute: number;
    /**
     * Check if time is valid
     */
    get isValid(): boolean;
    constructor(hour: number, minute: number);
    /**
     * Converts the object to a string representation.
     *
     * @returns The string representation of the object.
     */
    toString: () => string | null;
    /**
     * Calculates the total minutes represented by the hour and minute properties of an object.
     *
     * @returns The total minutes represented by the hour and minute properties.
     */
    toStamp: () => number;
    /**
     * Takes a stamp value and converts it into a Time object.
     *
     * @param stamp - The stamp value representing minutes since 1970-01-01 00:00.
     * @returns - The Time object representing the hour and minute derived from the stamp value.
     */
    static fromStamp: (stamp: number | null) => Time | null;
  }
  /**
   * Represents a date.
   */
  export class Date {
    readonly day: number;
    readonly month: number;
    readonly year: number;
    /**
     * Check if date is valid
     */
    get isValid(): boolean;
    constructor(day: number, month: number, year: number);
    /**
     * Returns a string representation of the current object.
     *
     * @return The serialized string representation of the object.
     */
    toString: () => string | null;
    /**
     * Calculates the number of days from 1970-01-01 to a specified date.
     *
     * @returns The number of days from 1970-01-01 to the specified date.
     */
    toStamp: () => number;
    /**
     * Converts a stamp value to a date object.
     *
     * @param stamp - The number of days since '1970-01-01' to convert.
     * @returns - The converted date object.
     */
    static fromStamp: (stamp: number | null) => Date | null;
  }
  /**
   * Parses a string representation of a date in "dd/mm/yyyy" format and returns a Date object.
   * If the input is not in the correct format or is null, returns null.
   *
   * @param date - The string representation of the date to parse.
   * @returns - The parsed Date object or null if the input is not valid.
   */
  export const parseDate: (date: string | null) => Date | null;
  /**
   * Serialize a given date to a string representation in the format "dd/MM/yyyy".
   *
   * @param date - The date to serialize.
   * @returns The serialized date or null if the input is not a valid Date object.
   */
  export const serializeDate: (date: Date | null) => string | null;
  /**
   * Parses a string representation of time into a Time object.
   *
   * @param time - The string representation of time to parse.
   * @returns - The parsed Time object or null if input is null or invalid.
   */
  export const parseTime: (time: string | null) => Time | null;
  /**
   * Serializes the given time object into a string representation.
   *
   * @param time - The time object to be serialized.
   * @returns - The serialized time string, or null if the input is invalid.
   */
  export const serializeTime: (time: Time | null) => string | null;
  /**
   * Retrieves the current date.
   *
   * @returns The current date in serialized format.
   */
  export const currentDate: () => string;
  /**
   * Generates the current time.
   *
   * @returns The current time as a serialized string.
   */
  export const currentTime: () => string;
  /**
   * Converts a string representation of a time to a timestamp.
   *
   * @param [str] - The time string to convert. Defaults to the current time.
   * @returns - The timestamp representation of the given time or -1 if conversion fails.
   */
  export const timeStamp: (str?: string) => number;
  /**
   * Converts a date string to a timestamp.
   *
   * @param [str=currentDate()] - The date string to convert.
   * @returns - The timestamp if the conversion is successful, -1 otherwise.
   */
  export const dateStamp: (str?: string) => number;
}

declare module "react-declarative-lite/utils/waitForMove" {
  /**
   * Waits for a move to occur and executes the provided function.
   *
   * @param fn - The function to be executed when a move occurs.
   * @returns
   */
  export const waitForMove: (fn: () => void) => () => void;
  export default waitForMove;
}

declare module "react-declarative-lite/utils/compose" {
  export type Function = (...args: any[]) => any;
  /**
   * Compose multiple functions together to create a new function that applies the given functions from right to left.
   * If no functions are given, the composed function will simply return the input argument.
   * If only one function is given, the composed function will simply return the output of that function.
   *
   * @param funcs - The functions to be composed.
   * @returns - The composed function.
   */
  export const compose: (...funcs: Function[]) => Function;
  export default compose;
}

declare module "react-declarative-lite/utils/getMomentStamp" {
  import dayjs from "dayjs";
  export type stamp = number;
  /**
   * Calculates the moment stamp based on the given end date and dimension.
   * The moment stamp represents the difference between the end date and the start date in the specified dimension.
   *
   * @param [end=dayjs()] - The end date. Defaults to the current date and time.
   * @param [dimension=DIMENSION] - The dimension to calculate the difference in. Defaults to DIMENSION.
   * @returns - The moment stamp representing the difference between the end date and the start date.
   */
  export const getMomentStamp: (
    end?: dayjs.Dayjs,
    dimension?: dayjs.ManipulateType,
  ) => stamp;
  /**
   * Converts a timestamp to a moment in time.
   *
   * @param stamp - The timestamp to convert.
   * @param dimension - The dimension to add to the timestamp. Defaults to `DIMENSION`.
   * @returns - The moment in time corresponding to the timestamp.
   */
  export const fromMomentStamp: (
    stamp: number,
    dimension?: dayjs.ManipulateType,
  ) => dayjs.Dayjs;
  export default getMomentStamp;
}

declare module "react-declarative-lite/utils/getTimeStamp" {
  import dayjs from "dayjs";
  /**
   * Calculates the timestamp in minutes based on the given source.
   *
   * @param [source] - The source date and time. Defaults to the current date and time.
   * @returns - The timestamp in minutes.
   */
  export const getTimeStamp: (source?: dayjs.Dayjs) => number;
  /**
   * Converts a timestamp to a date and time using dayjs library.
   * @param stamp - The timestamp to convert.
   * @returns The date and time corresponding to the given timestamp.
   */
  export const fromTimeStamp: (stamp: number) => dayjs.Dayjs;
  export default getTimeStamp;
}

declare module "react-declarative-lite/utils/getGenesisStamp" {
  import dayjs from "dayjs";
  /**
   * Gets the initial moment stamp for London (UTC).
   * @param [stamp=dayjs(0)] - Optional. The timestamp to start from. Default is the Unix epoch.
   * @returns The dayjs moment stamp for London (UTC).
   */
  export const getGenesisStamp: (stamp?: dayjs.Dayjs) => dayjs.Dayjs;
  export default getGenesisStamp;
}

declare module "react-declarative-lite/utils/addUtcOffset" {
  import dayjs from "dayjs";
  export const addUtcOffset: (date: dayjs.Dayjs) => dayjs.Dayjs;
  export const removeUtcOffset: (date: dayjs.Dayjs) => dayjs.Dayjs;
}

declare module "react-declarative-lite/components/One/layouts/FragmentLayout" {
  import * as React from "react";
  import IField from "react-declarative-lite/model/IField";
  import IEntity from "react-declarative-lite/model/IEntity";
  import IAnything from "react-declarative-lite/model/IAnything";
  import { PickProp } from "react-declarative-lite/model/IManaged";
  /**
   * Represents the props for the IFragmentLayout component.
   *
   * @template Data - The type of data for the fragment layout.
   * @template Payload - The type of payload for the fragment layout.
   */
  export interface IFragmentLayoutProps<Data = IAnything, Payload = IAnything> {
    isVisible?: PickProp<IField<Data, Payload>, "isVisible">;
    features?: PickProp<IField<Data, Payload>, "features">;
    hidden?: PickProp<IField<Data, Payload>, "hidden">;
  }
  /**
   * Represents a private layout interface for a fragment.
   * @interface
   * @template Data - The type of data the fragment holds.
   */
  interface IFragmentLayoutPrivate<Data = IAnything> extends IEntity<Data> {
    children?: React.ReactNode;
    ready: PickProp<IEntity<Data>, "ready">;
  }
  /**
   * Component that conditionally renders its children based on the visibility criteria.
   *
   * @param props - The component props.
   * @param props.children - The children to be rendered.
   * @param props.isVisible - The function used to determine if the component should be visible.
   * @param props.ready - The function to be called when the component is ready.
   * @param props.object - The object used by the `isVisible` function.
   *
   * @returns - The rendered React node.
   */
  export const FragmentLayout: {
    <Data extends unknown = any>({
      children,
      isVisible,
      ready,
    }: IFragmentLayoutProps<Data, any> &
      IFragmentLayoutPrivate<Data>): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      children,
      isVisible,
      ready,
    }: IFragmentLayoutProps<Data, any> &
      IFragmentLayoutPrivate<Data>): JSX.Element;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/layouts/DivLayout" {
  import * as React from "react";
  import IField from "react-declarative-lite/model/IField";
  import IEntity from "react-declarative-lite/model/IEntity";
  import IAnything from "react-declarative-lite/model/IAnything";
  import {
    IWrappedLayout,
    PickProp,
  } from "react-declarative-lite/model/IManaged";
  /**
   * Interface for specifying the props of a DivLayout component.
   * @template Data - The type of data that the DivLayout component uses.
   * @template Payload - The type of payload that the DivLayout component uses.
   * @extends IWrappedLayout<Data>
   */
  export interface IDivLayoutProps<Data = IAnything, Payload = IAnything>
    extends IWrappedLayout<Data> {
    className?: PickProp<IField<Data, Payload>, "className">;
    style?: PickProp<IField<Data, Payload>, "style">;
    hidden?: PickProp<IField<Data, Payload>, "hidden">;
  }
  /**
   * Represents a private interface for the DivLayout class.
   *
   * @template Data - The data type for the entity.
   * @extends IEntity<Data>
   *
   * @property children - The child components to be rendered within the DivLayout.
   */
  interface IDivLayoutPrivate<Data = IAnything> extends IEntity<Data> {
    children?: React.ReactNode;
  }
  /**
   * A layout component that renders a container <div> element with optional child elements.
   *
   * @template Data - A generic type that specifies additional data passed to the component.
   *
   * @param props - The properties of the DivLayout component.
   * @param props.children - The child elements to render inside the div container.
   * @param props.className - The CSS class name to apply to the div container.
   * @param props.style - The inline styles to apply to the div container.
   *
   * @returns The rendered DivLayout component.
   */
  export const DivLayout: {
    <Data extends unknown = any>({
      children,
      className,
      style,
      testId,
    }: IDivLayoutProps<Data, any> & IDivLayoutPrivate<Data>): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      children,
      className,
      style,
      testId,
    }: IDivLayoutProps<Data, any> & IDivLayoutPrivate<Data>): JSX.Element;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/layouts/BoxLayout" {
  import * as React from "react";
  import IField from "react-declarative-lite/model/IField";
  import IEntity from "react-declarative-lite/model/IEntity";
  import IAnything from "react-declarative-lite/model/IAnything";
  import {
    IWrappedLayout,
    PickProp,
  } from "react-declarative-lite/model/IManaged";
  /**
   * Interface for specifying props for the IBoxLayout class.
   *
   * @template Data - The type of data for the layout.
   * @template Payload - The type of payload for the layout.
   */
  export interface IBoxLayoutProps<Data = IAnything, Payload = IAnything>
    extends IWrappedLayout<Data, Payload> {
    className?: PickProp<IField<Data, Payload>, "className">;
    style?: PickProp<IField<Data, Payload>, "style">;
    sx?: PickProp<IField<Data, Payload>, "sx">;
  }
  /**
   * Represents a private interface for a BoxLayout component.
   *
   * @interface IBoxLayoutPrivate
   * @extends {IEntity<Data>}
   * @template Data - The type of data associated with the BoxLayout.
   */
  interface IBoxLayoutPrivate<Data = IAnything> extends IEntity<Data> {
    children?: React.ReactNode;
  }
  /**
   * A custom component for layouting its children in a box.
   *
   * @param props - The properties for the BoxLayout component.
   * @param props.children - The children elements to be rendered within the box layout.
   * @param props.className - The optional CSS class for styling the box layout.
   * @param props.style - The optional inline style object for further customization.
   * @param props.sx - The optional theme-ui style object for additional theming.
   * @typeparam {Data} - The type of the data object that can be passed to the layout.
   * @extends {IBoxLayoutProps<Data>} - The properties specific to the BoxLayout component.
   * @extends {IBoxLayoutPrivate<Data>} - The private properties specific to the BoxLayout component.
   * @returns - A JSX element representing the box layout component.
   */
  export const BoxLayout: {
    <Data extends unknown = any>({
      children,
      className,
      style,
      sx,
      testId,
    }: IBoxLayoutProps<Data, any> & IBoxLayoutPrivate<Data>): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      children,
      className,
      style,
      sx,
      testId,
    }: IBoxLayoutProps<Data, any> & IBoxLayoutPrivate<Data>): JSX.Element;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/layouts/TabsLayout" {
  import * as React from "react";
  import { IGroupProps } from "react-declarative-lite/components/common/Group";
  import IField from "react-declarative-lite/model/IField";
  import IEntity from "react-declarative-lite/model/IEntity";
  import IAnything from "react-declarative-lite/model/IAnything";
  import { PickProp } from "react-declarative-lite/model/IManaged";
  /**
   * Interface representing the props for the ITabsLayout component.
   */
  export interface ITabsLayoutProps<Data = IAnything, Payload = IAnything>
    extends IGroupProps<Data, Payload> {
    className?: PickProp<IField<Data, Payload>, "className">;
    style?: PickProp<IField<Data, Payload>, "style">;
    tabLine?: PickProp<IField<Data, Payload>, "tabLine">;
    tabList?: PickProp<IField<Data, Payload>, "tabList">;
    tabIndex?: PickProp<IField<Data, Payload>, "tabIndex">;
    tabColor?: PickProp<IField<Data, Payload>, "tabColor">;
    tabChange?: PickProp<IField<Data, Payload>, "tabChange">;
    tabVariant?: PickProp<IField<Data, Payload>, "tabVariant">;
    tabKeepFlow?: PickProp<IField<Data, Payload>, "tabKeepFlow">;
    tabBackground?: PickProp<IField<Data, Payload>, "tabBackground">;
  }
  /**
   * Represents a private interface for `ITabsLayout`.
   *
   * @template Data - The type of data associated with the entity.
   */
  interface ITabsLayoutPrivate<Data = IAnything> extends IEntity<Data> {
    isBaselineAlign: boolean;
    children?: React.ReactNode;
  }
  /**
   * Represents a layout component for tabs.
   *
   * @template Data - The type of data to be used in the tabs.
   *
   * @param props - The props for the TabsLayout component.
   * @param props.children - The content of the TabsLayout component.
   * @param props.className - The CSS class name for the TabsLayout component.
   * @param props.style - The inline style for the TabsLayout component.
   * @param props.tabChange - The callback function for tab change event.
   * @param [props.tabVariant="fullWidth"] - The variant of the tabs (default: "fullWidth").
   * @param [props.tabLine=false] - Whether to show a line beneath the tabs (default: false).
   * @param [props.tabColor="primary"] - The color of the tabs (default: "primary").
   * @param [props.tabList=["Empty"]] - The list of tab labels (default: ["Empty"]).
   * @param [props.tabKeepFlow=false] - Whether to keep the flow of content when tabs are switched (default: false).
   * @param [props.tabBackground=false] - Whether to show a background color behind the content (default: false).
   * @param [props.tabIndex=0] - The default index of the active tab (default: 0).
   * @param props.columns - The number of columns for the Group container.
   * @param props.columnsOverride - The configuration object to override the number of columns for specific breakpoints.
   * @param props.isBaselineAlign - Whether to align the items based on the baseline.
   * @param props.sx - The custom CSS properties for the Group container.
   * @param props.phoneColumns - The number of columns for mobile devices.
   * @param props.tabletColumns - The number of columns for tablet devices.
   * @param props.desktopColumns - The number of columns for desktop devices.
   * @param [props.fieldRightMargin="0"] - The right margin for form fields (default: "0").
   * @param [props.fieldBottomMargin="0"] - The bottom margin for form fields (default: "0").
   *
   * @returns - The rendered TabsLayout component.
   */
  export const TabsLayout: {
    <Data extends unknown = any>({
      children,
      className,
      style,
      tabChange,
      tabVariant,
      tabLine,
      tabColor,
      tabList,
      tabKeepFlow,
      tabBackground,
      tabIndex: tabIndexDefault,
      columns,
      columnsOverride,
      isBaselineAlign,
      sx,
      testId,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      fieldRightMargin,
      fieldBottomMargin,
    }: ITabsLayoutProps<Data, any> & ITabsLayoutPrivate<Data>): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      children,
      className,
      style,
      tabChange,
      tabVariant,
      tabLine,
      tabColor,
      tabList,
      tabKeepFlow,
      tabBackground,
      tabIndex: tabIndexDefault,
      columns,
      columnsOverride,
      isBaselineAlign,
      sx,
      testId,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      fieldRightMargin,
      fieldBottomMargin,
    }: ITabsLayoutProps<Data, any> & ITabsLayoutPrivate<Data>): JSX.Element;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/layouts/CenterLayout" {
  import * as React from "react";
  import IField from "react-declarative-lite/model/IField";
  import IEntity from "react-declarative-lite/model/IEntity";
  import IAnything from "react-declarative-lite/model/IAnything";
  import { PickProp } from "react-declarative-lite/model/IManaged";
  import { IGroupProps } from "react-declarative-lite/components/common/Group";
  /**
   * Interface for defining props for the CenterLayout component.
   *
   * @template Data - The data type.
   * @template Payload - The payload type.
   * @extends IGroupProps<Data> - The props interface that the CenterLayoutProps extends.
   */
  export interface ICenterLayoutProps<Data = IAnything, Payload = IAnything>
    extends IGroupProps<Data> {
    innerPadding?: PickProp<IField<Data, Payload>, "innerPadding">;
    className?: PickProp<IField<Data, Payload>, "className">;
    style?: PickProp<IField<Data, Payload>, "style">;
  }
  /**
   * Interface representing a private center layout entity.
   * @template Data - The type of data associated with the entity.
   */
  interface ICenterLayoutPrivate<Data = IAnything> extends IEntity<Data> {
    isBaselineAlign: boolean;
    children?: React.ReactNode;
  }
  /**
   * Component for centering its children with specified layout and alignment.
   *
   * @template Data - The data type for any additional props.
   *
   * @param props - The component props.
   * @param props.children - The children to be centered.
   * @param props.className - The class name for the component.
   * @param props.style - The inline styles for the component.
   * @param [props.innerPadding='0px'] - The padding applied to the inner content of the component.
   * @param [props.columns] - The number of columns for the layout.
   * @param [props.phoneColumns] - The number of columns for phone layout.
   * @param [props.tabletColumns] - The number of columns for tablet layout.
   * @param [props.desktopColumns] - The number of columns for desktop layout.
   * @param [props.columnsOverride] - Overrides the default number of columns.
   * @param [props.isBaselineAlign] - Specifies whether the children should be aligned based on the baseline.
   * @param [props.sx] - Additional styles for the component using sx prop from @mui/system.
   * @param [props.fieldRightMargin='0'] - The margin applied to the right of each field within the component.
   * @param [props.fieldBottomMargin='0'] - The margin applied to the bottom of each field within the component.
   *
   * @returns - The centered content.
   */
  export const CenterLayout: {
    <Data extends unknown = any>({
      children,
      className,
      style,
      innerPadding: padding,
      columns,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      columnsOverride,
      isBaselineAlign,
      testId,
      sx,
      fieldRightMargin,
      fieldBottomMargin,
    }: ICenterLayoutProps<Data, any> & ICenterLayoutPrivate<Data>): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      children,
      className,
      style,
      innerPadding: padding,
      columns,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      columnsOverride,
      isBaselineAlign,
      testId,
      sx,
      fieldRightMargin,
      fieldBottomMargin,
    }: ICenterLayoutProps<Data, any> & ICenterLayoutPrivate<Data>): JSX.Element;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/layouts/StretchLayout" {
  import * as React from "react";
  import IField from "react-declarative-lite/model/IField";
  import IEntity from "react-declarative-lite/model/IEntity";
  import IAnything from "react-declarative-lite/model/IAnything";
  import {
    IWrappedLayout,
    PickProp,
  } from "react-declarative-lite/model/IManaged";
  /**
   * Represents the props for a stretch layout component.
   *
   * @template Data - The type of data being passed to the layout.
   * @template Payload - The type of payload being passed to the layout.
   */
  export interface IStretchLayoutProps<Data = IAnything, Payload = IAnything>
    extends IWrappedLayout<Data> {
    innerPadding?: PickProp<IField<Data, Payload>, "innerPadding">;
    className?: PickProp<IField<Data, Payload>, "className">;
    style?: PickProp<IField<Data, Payload>, "style">;
  }
  /**
   * Represents a private interface for the StretchLayout component.
   *
   * @interface IStretchLayoutPrivate
   * @template Data - the type of the data.
   * @extends IEntity<Data>
   */
  interface IStretchLayoutPrivate<Data = IAnything> extends IEntity<Data> {
    children?: React.ReactNode;
  }
  /**
   * A layout wrapper component that stretches its children horizontally and vertically.
   *
   * @template Data - The type of the data passed to the layout.
   *
   * @param props - The properties passed to the component.
   * @param props.children - The children components to be rendered inside the layout.
   * @param [props.className] - The additional CSS class name(s) to apply to the root element.
   * @param [props.style] - The inline styles to apply to the root element.
   * @param [props.innerPadding='0px'] - The padding to apply to the container element.
   *
   * @returns - The rendered StretchLayout component.
   */
  export const StretchLayout: {
    <Data extends unknown = any>({
      children,
      className,
      style,
      testId,
      innerPadding: padding,
    }: IStretchLayoutProps<Data, any> &
      IStretchLayoutPrivate<Data>): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      children,
      className,
      style,
      testId,
      innerPadding: padding,
    }: IStretchLayoutProps<Data, any> &
      IStretchLayoutPrivate<Data>): JSX.Element;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/layouts/GroupLayout" {
  import * as React from "react";
  import { IGroupProps } from "react-declarative-lite/components/common/Group";
  import IAnything from "react-declarative-lite/model/IAnything";
  /**
   * Interface for defining the props of GroupLayout component.
   *
   * @template Data - The type of data associated with the group.
   * @template Payload - The type of payload associated with the group.
   */
  export interface IGroupLayoutProps<Data = IAnything, Payload = IAnything>
    extends IGroupProps<Data, Payload> {}
  /**
   * Represents the private interface for the GroupLayout class.
   *
   * @interface
   */
  interface IGroupLayoutPrivate {
    isBaselineAlign: boolean;
    children?: React.ReactNode;
  }
  /**
   * Represents a layout component used for grouping and organizing child components.
   *
   * @template Data - The type of data passed to the component.
   * @param props - The props to configure the GroupLayout component.
   * @param props.columns - The number of columns for the component.
   * @param props.columnsOverride - The number of columns to override for specific items.
   * @param props.sx - The sx value to pass to the component.
   * @param props.phoneColumns - The number of phone columns for the component.
   * @param props.tabletColumns - The number of tablet columns for the component.
   * @param props.desktopColumns - The number of desktop columns for the component.
   * @param props.isBaselineAlign - Indicates whether the items should be baseline aligned.
   * @param [props.fieldRightMargin='0'] - The right margin value for fields.
   * @param [props.fieldBottomMargin='0'] - The bottom margin value for fields.
   * @param [props.style] - The inline style object for the component.
   * @param [props.className] - The CSS class for the component.
   * @param props.children - The child components to be rendered.
   * @returns The rendered GroupLayout component.
   */
  export const GroupLayout: {
    <Data extends unknown = any>({
      columns,
      columnsOverride,
      sx,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      isBaselineAlign,
      fieldRightMargin,
      fieldBottomMargin,
      style,
      testId,
      className,
      children,
    }: IGroupLayoutProps<Data, any> & IGroupLayoutPrivate): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      columns,
      columnsOverride,
      sx,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      isBaselineAlign,
      fieldRightMargin,
      fieldBottomMargin,
      style,
      testId,
      className,
      children,
    }: IGroupLayoutProps<Data, any> & IGroupLayoutPrivate): JSX.Element;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/layouts/OutlineLayout" {
  import * as React from "react";
  import { IGroupProps } from "react-declarative-lite/components/common/Group";
  import { IOutlineProps } from "react-declarative-lite/components/common/Outline";
  import { PickProp } from "react-declarative-lite/model/IManaged";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IField from "react-declarative-lite/model/IField";
  /**
   * Represents the props for the OutlineLayout component.
   *
   * @template Data - The type of data for the outline.
   * @template Payload - The type of payload for the outline.
   *
   * @extends {IOutlineProps<Data, Payload>} - The props required for the Outline component.
   * @extends {IGroupProps<Data, Payload>} - The props required for the Group component.
   */
  export interface IOutlineLayoutProps<Data = IAnything, Payload = IAnything>
    extends IOutlineProps<Data, Payload>,
      IGroupProps<Data, Payload> {
    innerPadding?: PickProp<IField<Data, Payload>, "innerPadding">;
  }
  /**
   * Represents the private interface for the OutlineLayout class.
   * @interface IOutlineLayoutPrivate
   */
  interface IOutlineLayoutPrivate {
    isBaselineAlign: boolean;
    children?: React.ReactNode;
  }
  /**
   * Represents the OutlineLayout component.
   *
   * @param props - The props for the OutlineLayout component.
   * @param props.columns - The number of columns.
   * @param props.columnsOverride - The number of columns to override.
   * @param props.sx - The custom inline styles.
   * @param props.phoneColumns - The number of columns for phone devices.
   * @param props.tabletColumns - The number of columns for tablet devices.
   * @param props.desktopColumns - The number of columns for desktop devices.
   * @param props.style - The custom styles.
   * @param props.className - The class name.
   * @param props.children - The child components.
   * @param props.isBaselineAlign - Indicates whether the items should be baseline aligned.
   * @param props.fieldRightMargin - The right margin for fields.
   * @param props.fieldBottomMargin - The bottom margin for fields.
   * @param props.innerPadding - The inner padding.
   * @returns The OutlineLayout component.
   */
  export const OutlineLayout: {
    <Data extends unknown = any>({
      columns,
      columnsOverride,
      sx,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      style,
      className,
      children,
      testId,
      isBaselineAlign,
      fieldRightMargin,
      fieldBottomMargin,
      innerPadding: padding,
    }: IOutlineLayoutProps<Data, any> & IOutlineLayoutPrivate): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      columns,
      columnsOverride,
      sx,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      style,
      className,
      children,
      testId,
      isBaselineAlign,
      fieldRightMargin,
      fieldBottomMargin,
      innerPadding: padding,
    }: IOutlineLayoutProps<Data, any> & IOutlineLayoutPrivate): JSX.Element;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/layouts/PaperLayout" {
  import * as React from "react";
  import { IGroupProps } from "react-declarative-lite/components/common/Group";
  import { IPaperProps } from "react-declarative-lite/components/common/Paper";
  import { PickProp } from "react-declarative-lite/model/IManaged";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IField from "react-declarative-lite/model/IField";
  /**
   * Interface representing the props for the IPaperLayout component.
   *
   * @template Data - The type of data to be used in the component.
   * @template Payload - The type of payload to be used in the component.
   *
   * @extends {IPaperProps<Data, Payload>}
   * @extends {IGroupProps<Data, Payload>}
   */
  export interface IPaperLayoutProps<Data = IAnything, Payload = IAnything>
    extends IPaperProps<Data, Payload>,
      IGroupProps<Data, Payload> {
    innerPadding?: PickProp<IField<Data, Payload>, "innerPadding">;
    outlinePaper?: PickProp<IField<Data, Payload>, "outlinePaper">;
    transparentPaper?: PickProp<IField<Data, Payload>, "transparentPaper">;
  }
  /**
   * Represents the private interface for the PaperLayout component.
   */
  interface IPaperLayoutPrivate {
    isBaselineAlign: boolean;
    children?: React.ReactNode;
  }
  /**
   * Renders a paper layout component.
   *
   * @template Data - The type of data to be used.
   * @param props - The props object.
   * @param [props.columns] - The number of columns to display.
   * @param [props.columnsOverride] - The number of columns to override the default value.
   * @param [props.phoneColumns] - The number of columns to display on phones.
   * @param [props.tabletColumns] - The number of columns to display on tablets.
   * @param [props.desktopColumns] - The number of columns to display on desktops.
   * @param [props.style] - The CSS styles to be applied.
   * @param [props.className] - The class name to be applied.
   * @param [props.children] - The children components to be rendered.
   * @param [props.isBaselineAlign] - Determines if items should be aligned to the baseline.
   * @param [props.fieldRightMargin="0"] - The right margin of each field.
   * @param [props.fieldBottomMargin="0"] - The bottom margin of each field.
   * @param [props.innerPadding="18px"] - The inner padding of the paper layout.
   * @param [props.outlinePaper=false] - Determines if the paper should have an outline.
   * @param [props.transparentPaper=false] - Determines if the paper should be transparent.
   * @returns - The rendered paper layout component.
   */
  export const PaperLayout: {
    <Data extends unknown = any>({
      columns,
      columnsOverride,
      sx,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      style,
      className,
      children,
      testId,
      isBaselineAlign,
      fieldRightMargin,
      fieldBottomMargin,
      innerPadding: padding,
      outlinePaper,
      transparentPaper,
    }: IPaperLayoutProps<Data, any> & IPaperLayoutPrivate): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      columns,
      columnsOverride,
      sx,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      style,
      className,
      children,
      testId,
      isBaselineAlign,
      fieldRightMargin,
      fieldBottomMargin,
      innerPadding: padding,
      outlinePaper,
      transparentPaper,
    }: IPaperLayoutProps<Data, any> & IPaperLayoutPrivate): JSX.Element;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/layouts/ExpansionLayout" {
  import * as React from "react";
  import { IExpansionProps } from "react-declarative-lite/components/common/Expansion";
  import { IGroupProps } from "react-declarative-lite/components/common/Group";
  import IAnything from "react-declarative-lite/model/IAnything";
  /**
   * Represents the properties for an Expansion Layout component.
   * @template Data - The data type for the expansion layout.
   * @template Payload - The payload type for the expansion layout.
   */
  export interface IExpansionLayoutProps<Data = IAnything, Payload = IAnything>
    extends IExpansionProps<Data, Payload>,
      IGroupProps<Data, Payload> {}
  /**
   * Represents the private configuration options for an Expansion Layout.
   *
   * @interface IExpansionLayoutPrivate
   */
  interface IExpansionLayoutPrivate {
    isBaselineAlign: boolean;
    outlinePaper: boolean;
    transparentPaper: boolean;
    children?: React.ReactNode;
  }
  /**
   * Renders an ExpansionLayout component.
   *
   * @template Data - The type of data to be used.
   *
   * @param props - The props for the ExpansionLayout component.
   * @param props.columns - The number of columns for the Group component.
   * @param props.columnsOverride - The number of columns to override the Group's columns prop.
   * @param props.sx - The style for the ExpansionLayout component.
   * @param props.phoneColumns - The number of columns to use on phone devices.
   * @param props.tabletColumns - The number of columns to use on tablet devices.
   * @param props.desktopColumns - The number of columns to use on desktop devices.
   * @param props.isBaselineAlign - A boolean value indicating whether to align items to the baseline.
   * @param [props.fieldRightMargin='0'] - The right margin for the fields within the Group component.
   * @param [props.fieldBottomMargin='0'] - The bottom margin for the fields within the Group component.
   * @param props.style - The style object for the ExpansionLayout component.
   * @param props.className - The class name for the ExpansionLayout component.
   * @param props.children - The children for the ExpansionLayout component.
   * @param props.title - The title for the Expansion component.
   * @param props.description - The description for the Expansion component.
   * @param props.expansionOpened - A boolean value indicating whether the Expansion should be opened.
   * @param props.outlinePaper - A boolean value indicating whether to show an outline paper style for the Expansion.
   * @param props.transparentPaper - A boolean value indicating whether to show a transparent paper style for the Expansion.
   *
   * @returns - The rendered ExpansionLayout component.
   */
  export const ExpansionLayout: {
    <Data extends unknown = any>({
      columns,
      columnsOverride,
      sx,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      isBaselineAlign,
      fieldRightMargin,
      fieldBottomMargin,
      style,
      className,
      children,
      title,
      testId,
      description,
      expansionOpened,
      outlinePaper,
      transparentPaper,
    }: IExpansionLayoutProps<Data, any> & IExpansionLayoutPrivate): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      columns,
      columnsOverride,
      sx,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      isBaselineAlign,
      fieldRightMargin,
      fieldBottomMargin,
      style,
      className,
      children,
      title,
      testId,
      description,
      expansionOpened,
      outlinePaper,
      transparentPaper,
    }: IExpansionLayoutProps<Data, any> & IExpansionLayoutPrivate): JSX.Element;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/layouts/HeroLayout" {
  import * as React from "react";
  import IField from "react-declarative-lite/model/IField";
  import IAnything from "react-declarative-lite/model/IAnything";
  import {
    IWrappedLayout,
    PickProp,
  } from "react-declarative-lite/model/IManaged";
  import Group, {
    IGroupProps,
  } from "react-declarative-lite/components/common/Group";
  import IEntity from "react-declarative-lite/model/IEntity";
  /**
   * Represents an interface for a hero top section.
   * @template Data - The data type for the hero top section.
   * @template Payload - The payload type for the hero top section.
   */
  interface IHeroTop<Data = IAnything, Payload = IAnything> {
    top?: PickProp<IField<Data, Payload>, "top">;
    phoneTop?: PickProp<IField<Data, Payload>, "phoneTop">;
    tabletTop?: PickProp<IField<Data, Payload>, "tabletTop">;
    desktopTop?: PickProp<IField<Data, Payload>, "desktopTop">;
  }
  /**
   * Interface representing the left positioning properties for a hero element.
   *
   * @template Data - The data type of the hero element.
   * @template Payload - The payload type of the hero element.
   */
  interface IHeroLeft<Data = IAnything, Payload = IAnything> {
    left?: PickProp<IField<Data, Payload>, "left">;
    phoneLeft?: PickProp<IField<Data, Payload>, "phoneLeft">;
    tabletLeft?: PickProp<IField<Data, Payload>, "tabletLeft">;
    desktopLeft?: PickProp<IField<Data, Payload>, "desktopLeft">;
  }
  /**
   * Represents the interface for defining the right properties of a hero.
   * @template Data - The type of the data being used.
   * @template Payload - The type of the payload being used.
   */
  interface IHeroRight<Data = IAnything, Payload = IAnything> {
    right?: PickProp<IField<Data, Payload>, "right">;
    phoneRight?: PickProp<IField<Data, Payload>, "phoneRight">;
    tabletRight?: PickProp<IField<Data, Payload>, "tabletRight">;
    desktopRight?: PickProp<IField<Data, Payload>, "desktopRight">;
  }
  /**
   * Represents the interface for the bottom section of a hero component.
   *
   * @template Data - The type of data for the hero component.
   * @template Payload - The type of payload for the hero component.
   */
  interface IHeroBottom<Data = IAnything, Payload = IAnything> {
    bottom?: PickProp<IField<Data, Payload>, "bottom">;
    phoneBottom?: PickProp<IField<Data, Payload>, "phoneBottom">;
    tabletBottom?: PickProp<IField<Data, Payload>, "tabletBottom">;
    desktopBottom?: PickProp<IField<Data, Payload>, "desktopBottom">;
  }
  /**
   * An interface representing the height properties of a hero.
   *
   * @template Data - The type of data used by the height properties.
   * @template Payload - The type of payload used by the height properties.
   */
  interface IHeroHeight<Data = IAnything, Payload = IAnything> {
    height?: PickProp<IField<Data, Payload>, "height">;
    phoneHeight?: PickProp<IField<Data, Payload>, "phoneHeight">;
    tabletHeight?: PickProp<IField<Data, Payload>, "tabletHeight">;
    desktopHeight?: PickProp<IField<Data, Payload>, "desktopHeight">;
  }
  /**
   * Represents an interface for setting minimum heights for different devices.
   * @template Data - The type of data used in the interface.
   * @template Payload - The type of payload used in the interface.
   */
  interface IHeroMinHeight<Data = IAnything, Payload = IAnything> {
    minHeight?: PickProp<IField<Data, Payload>, "minHeight">;
    phoneMinHeight?: PickProp<IField<Data, Payload>, "phoneMinHeight">;
    tabletMinHeight?: PickProp<IField<Data, Payload>, "tabletMinHeight">;
    desktopMinHeight?: PickProp<IField<Data, Payload>, "desktopMinHeight">;
  }
  /**
   * Interface defining the maximum height properties for a hero element.
   *
   * @template Data - The type of data associated with the hero element.
   * @template Payload - The type of payload associated with the hero element.
   */
  interface IHeroMaxHeight<Data = IAnything, Payload = IAnything> {
    maxHeight?: PickProp<IField<Data, Payload>, "maxHeight">;
    phoneMaxHeight?: PickProp<IField<Data, Payload>, "phoneMaxHeight">;
    tabletMaxHeight?: PickProp<IField<Data, Payload>, "tabletMaxHeight">;
    desktopMaxHeight?: PickProp<IField<Data, Payload>, "desktopMaxHeight">;
  }
  /**
   * Represents the interface for calculating hero widths.
   *
   * @template Data - The type of data manipulated by the hero.
   * @template Payload - The type of payload used for the hero.
   */
  interface IHeroWidth<Data = IAnything, Payload = IAnything> {
    width?: PickProp<IField<Data, Payload>, "width">;
    phoneWidth?: PickProp<IField<Data, Payload>, "phoneWidth">;
    tabletWidth?: PickProp<IField<Data, Payload>, "tabletWidth">;
    desktopWidth?: PickProp<IField<Data, Payload>, "desktopWidth">;
  }
  /**
   * Represents the minimum width constraints for a hero component.
   *
   * @template Data - The data type for the component.
   * @template Payload - The payload type for the component.
   */
  interface IHeroMinWidth<Data = IAnything, Payload = IAnything> {
    minWidth?: PickProp<IField<Data, Payload>, "minWidth">;
    phoneMinWidth?: PickProp<IField<Data, Payload>, "phoneMinWidth">;
    tabletMinWidth?: PickProp<IField<Data, Payload>, "tabletMinWidth">;
    desktopMinWidth?: PickProp<IField<Data, Payload>, "desktopMinWidth">;
  }
  /**
   * Represents the interface for maximum widths of a hero component.
   * @template Data - The type of data for the hero component.
   * @template Payload - The type of payload for the hero component.
   */
  interface IHeroMaxWidth<Data = IAnything, Payload = IAnything> {
    maxWidth?: PickProp<IField<Data, Payload>, "maxWidth">;
    phoneMaxWidth?: PickProp<IField<Data, Payload>, "phoneMaxWidth">;
    tabletMaxWidth?: PickProp<IField<Data, Payload>, "tabletMaxWidth">;
    desktopMaxWidth?: PickProp<IField<Data, Payload>, "desktopMaxWidth">;
  }
  /**
   * Interface representing the style configuration for a hero component.
   *
   * @template Data - The type of the data passed to the hero component.
   * @template Payload - The type of the payload passed to the hero component.
   */
  interface IHeroStyle<Data = IAnything, Payload = IAnything> {
    heroOuterStyle?: PickProp<IField<Data, Payload>, "heroOuterStyle">;
    heroOuterPhoneStyle?: PickProp<
      IField<Data, Payload>,
      "heroOuterPhoneStyle"
    >;
    heroOuterTabletStyle?: PickProp<
      IField<Data, Payload>,
      "heroOuterTabletStyle"
    >;
    heroOuterDesktopStyle?: PickProp<
      IField<Data, Payload>,
      "heroOuterDesktopStyle"
    >;
    heroInnerStyle?: PickProp<IField<Data, Payload>, "heroInnerStyle">;
    heroInnerPhoneStyle?: PickProp<
      IField<Data, Payload>,
      "heroInnerPhoneStyle"
    >;
    heroInnerTabletStyle?: PickProp<
      IField<Data, Payload>,
      "heroInnerTabletStyle"
    >;
    heroInnerDesktopStyle?: PickProp<
      IField<Data, Payload>,
      "heroInnerDesktopStyle"
    >;
  }
  /**
   * Interface representing a Hero registry.
   *
   * @template D - The data type for the hero registry.
   */
  type IHeroRegistry<D = IAnything> = IHeroTop<D> &
    IHeroLeft<D> &
    IHeroRight<D> &
    IHeroBottom<D> &
    IHeroWidth<D> &
    IHeroMinWidth<D> &
    IHeroMaxWidth<D> &
    IHeroHeight<D> &
    IHeroMinHeight<D> &
    IHeroMaxHeight<D> &
    IHeroStyle<D>;
  /**
   * Represents a group of data.
   *
   * @template Data - The type of data in the group.
   */
  type Group<Data = IAnything> = Omit<
    IGroupProps<Data>,
    keyof {
      fieldRightMargin: never;
      fieldBottomMargin: never;
    }
  >;
  /**
   * Interface representing the properties for the HeroLayout component.
   *
   * @template Data - The type of data associated with the component.
   * @template Payload - The type of payload associated with the component.
   */
  export interface IHeroLayoutProps<Data = IAnything, Payload = IAnything>
    extends IHeroRegistry<Data>,
      Group<Data>,
      IWrappedLayout<Data> {
    className?: PickProp<IField<Data, Payload>, "className">;
    style?: PickProp<IField<Data, Payload>, "style">;
    object: PickProp<IEntity<Data>, "object">;
  }
  /**
   * Represents the private interface for the HeroLayout component.
   *
   * @interface IHeroLayoutPrivate
   */
  interface IHeroLayoutPrivate {
    isBaselineAlign: boolean;
    children?: React.ReactNode;
  }
  /**
   * HeroLayout is a component that renders a hero section with flexible layout options.
   *
   * @template Data - The type of data for the hero layout.
   *
   * @param props - The props for the HeroLayout component.
   * @param props.children - The children of the hero layout.
   * @param props.className - The custom CSS class name for the hero layout.
   * @param props.style - The custom inline style for the hero layout.
   * @param props.object - The data object for the hero layout.
   * @param props.columns - The number of columns to display in the hero layout.
   * @param props.columnsOverride - An array of numbers to override the number of columns at different breakpoints.
   * @param props.isBaselineAlign - Determines whether the items in the hero layout should be baseline aligned.
   * @param props.sx - The custom style object for the hero layout.
   * @param props.phoneColumns - The number of columns to display on phones.
   * @param props.tabletColumns - The number of columns to display on tablets.
   * @param props.desktopColumns - The number of columns to display on desktops.
   * @param props.otherProps - Other props to pass to the hero layout component.
   *
   * @returns - The rendered hero layout component.
   */
  export const HeroLayout: {
    <Data extends unknown = any>({
      children,
      className,
      style,
      object,
      columns,
      columnsOverride,
      isBaselineAlign,
      testId,
      sx,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      ...otherProps
    }: IHeroLayoutProps<Data, any> & IHeroLayoutPrivate): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      children,
      className,
      style,
      object,
      columns,
      columnsOverride,
      isBaselineAlign,
      testId,
      sx,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      ...otherProps
    }: IHeroLayoutProps<Data, any> & IHeroLayoutPrivate): JSX.Element;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/layouts/ConditionLayout" {
  import * as React from "react";
  import IField from "react-declarative-lite/model/IField";
  import IEntity from "react-declarative-lite/model/IEntity";
  import IAnything from "react-declarative-lite/model/IAnything";
  import {
    IWrappedLayout,
    PickProp,
  } from "react-declarative-lite/model/IManaged";
  /**
   * Represents the props for a conditional layout component.
   *
   * @template Data - The data type associated with the layout component.
   * @template Payload - The payload type associated with the layout component.
   */
  export interface IConditionLayoutProps<Data = IAnything, Payload = IAnything>
    extends IWrappedLayout<Data, Payload> {
    condition?: PickProp<IField<Data, Payload>, "condition">;
    shouldCondition?: PickProp<IField<Data, Payload>, "shouldCondition">;
    conditionLoading?: PickProp<IField<Data, Payload>, "conditionLoading">;
    conditionElse?: PickProp<IField<Data, Payload>, "conditionElse">;
  }
  /**
   * The `IConditionLayoutPrivate` interface defines the structure for a class that represents a private condition layout.
   *
   * @template Data The type of data for the entity.
   * @interface
   * @extends {IEntity<Data>}
   */
  interface IConditionLayoutPrivate<Data = IAnything> extends IEntity<Data> {
    children?: React.ReactNode;
    fallback: PickProp<IEntity<Data>, "fallback">;
    ready: PickProp<IEntity<Data>, "ready">;
    object: PickProp<IEntity<Data>, "object">;
  }
  /**
   * Represents a layout component that conditionally renders its children based on given conditions.
   *
   * @template Data The type of data passed to the layout.
   * @param props - The props object containing the following properties:
   * @param props.children - The children elements to be rendered inside the layout.
   * @param [props.condition=() => true] - The condition function that determines when the children should be rendered.
   * @param [props.shouldCondition=() => false] - The function to determine if the condition should be re-evaluated.
   * @param [props.conditionLoading] - The component to be rendered while condition is evaluating/loading.
   * @param [props.conditionElse] - The component to be rendered if condition evaluates to false.
   * @param [props.fallback=(e: Error) => { throw e; }] - The function to handle errors during condition evaluation.
   * @param [props.object] - The data object to be passed to the condition and children components.
   * @returns The rendered layout component.
   */
  export const ConditionLayout: {
    <Data extends unknown = any>({
      children,
      condition,
      shouldCondition,
      conditionLoading: ConditionLoading,
      conditionElse: ConditionElse,
      fallback,
      object,
    }: IConditionLayoutProps<Data, any> &
      IConditionLayoutPrivate<Data>): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      children,
      condition,
      shouldCondition,
      conditionLoading: ConditionLoading,
      conditionElse: ConditionElse,
      fallback,
      object,
    }: IConditionLayoutProps<Data, any> &
      IConditionLayoutPrivate<Data>): JSX.Element;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/layouts/CustomLayout" {
  import * as React from "react";
  import IField from "react-declarative-lite/model/IField";
  import IEntity from "react-declarative-lite/model/IEntity";
  import IAnything from "react-declarative-lite/model/IAnything";
  import {
    IWrappedLayout,
    PickProp,
  } from "react-declarative-lite/model/IManaged";
  export interface ICustomLayoutProps<Data = IAnything, Payload = IAnything>
    extends IWrappedLayout<Data, Payload> {
    className?: PickProp<IField<Data, Payload>, "className">;
    style?: PickProp<IField<Data, Payload>, "style">;
    sx?: PickProp<IField<Data, Payload>, "sx">;
    customLayout?: PickProp<IField<Data, Payload>, "customLayout">;
    hidden?: PickProp<IField<Data, Payload>, "hidden">;
  }
  /**
   * An interface representing a custom layout private.
   *
   * @template Data - Type for the data of the entity.
   * @extends {IEntity<Data>}
   */
  interface ICustomLayoutPrivate<Data = IAnything> extends IEntity<Data> {
    children?: React.ReactNode;
  }
  /**
   * Represents a custom layout component.
   *
   * @template Data - The type of data to be rendered in the layout.
   *
   * @param props - The component props.
   * @param props.children - The children to be rendered inside the layout.
   * @param props.className - The CSS class name for the layout.
   * @param props.style - The inline styles for the layout.
   * @param props.sx - The theme styling object for the layout (sx prop from Theme-UI).
   * @param props.customLayout - The custom layout component to be used (defaults to Fragment).
   * @param props.otherProps - Other props specific to the custom layout.
   *
   * @returns The rendered custom layout component.
   */
  export const CustomLayout: {
    <Data extends unknown = any>({
      children,
      className,
      style,
      sx,
      testId,
      customLayout: CustomLayout,
      ...otherProps
    }: ICustomLayoutProps<Data, any> & ICustomLayoutPrivate<Data>): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      children,
      className,
      style,
      sx,
      testId,
      customLayout: CustomLayout,
      ...otherProps
    }: ICustomLayoutProps<Data, any> & ICustomLayoutPrivate<Data>): JSX.Element;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/fields/CheckboxField" {
  import IManaged, { PickProp } from "react-declarative-lite/model/IManaged";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IField from "react-declarative-lite/model/IField";
  /**
   * Interface representing props for the CheckboxField component.
   *
   * @template Data - The type of data for the field.
   * @template Payload - The type of payload for the field.
   */
  export interface ICheckboxFieldProps<Data = IAnything, Payload = IAnything> {
    /**
     * Retrieves the 'title' property from the given variable.
     *
     * @template T - The type of the variable.
     * @template K - The key to pick from the variable.
     *
     * @param variable - The variable to pick the property from.
     *
     * @returns - The picked property.
     */
    title?: PickProp<IField<Data, Payload>, "title">;
    /**
     * Retrieves the value of the 'readonly' property from the given object.
     *
     * @template Data - The type of data stored in the field.
     * @template Payload - The type of payload used in the field.
     * @template T - The type of the field object.
     *
     * @param field - The field object.
     *
     * @returns
     * The value of the 'readonly' property from the field object.
     */
    readonly?: PickProp<IField<Data, Payload>, "readonly">;
    /**
     * Represents the "disabled" property of a field in the given data payload.
     *
     * @template Data - The type of the data payload.
     * @template Payload - The type of the payload object.
     *
     * @param disabled - The value of the "disabled" property.
     *
     * @returns
     */
    disabled?: PickProp<IField<Data, Payload>, "disabled">;
    /**
     * Represents the optional property `groupRef` from the `IField` interface.
     * The `groupRef` property is a subset of the `PickProp` type with the 'groupRef' key.
     *
     * @typedef groupRef
     */
    groupRef?: PickProp<IField<Data, Payload>, "groupRef">;
  }
  /**
   * Represents a private interface for a Checkbox field.
   * @interface
   * @template Data - The type of data associated with the Checkbox field.
   */
  export interface ICheckboxFieldPrivate<Data = IAnything> {
    value: PickProp<IManaged<Data>, "value">;
    onChange: PickProp<IManaged<Data>, "onChange">;
  }
  /**
   * Represents a checkbox field component.
   *
   * @param param - The properties for the checkbox field.
   * @returns - The checkbox field component.
   */
  export const CheckboxField: {
    ({
      disabled,
      value,
      readonly,
      onChange,
      title,
    }: ICheckboxFieldProps & ICheckboxFieldPrivate): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      className,
      sx,
      columns,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      phoneHidden: upperPhoneHidden,
      tabletHidden: upperTabletHidden,
      desktopHidden: upperDesktopHidden,
      isDisabled: isDisabledUpper,
      isVisible: isVisibleUpper,
      isInvalid: isInvalidUpper,
      isIncorrect: isIncorrectUpper,
      isReadonly: isReadonlyUpper,
      readTransform,
      writeTransform,
      change,
      fallback,
      ready,
      compute: upperCompute,
      shouldRecompute,
      click,
      map,
      object: upperObject,
      name,
      title,
      menu,
      type,
      debug,
      focus,
      blur,
      invalidity,
      prefix,
      dirty: upperDirty,
      disabled: fieldDisabled,
      readonly: upperReadonly,
      autoFocus,
      style,
      menuItems,
      groupRef: ref,
      fieldRightMargin,
      fieldBottomMargin,
      outlinePaper,
      transparentPaper,
      testId,
      ...otherProps
    }: import("../../../model/IEntity").IEntity<Data, any>): JSX.Element | null;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/fields/IconField" {
  import IManaged, { PickProp } from "react-declarative-lite/model/IManaged";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IField from "react-declarative-lite/model/IField";
  /**
   * Interface representing props for the IconField component.
   *
   * @template Data - The type of data for the field.
   * @template Payload - The type of payload for the field.
   */
  export interface IIconFieldProps<Data = IAnything, Payload = IAnything> {
    /**
     * Retrieves the 'iconSize' property from the given variable.
     *
     * @template T - The type of the variable.
     * @template K - The key to pick from the variable.
     *
     * @param variable - The variable to pick the property from.
     *
     * @returns - The picked property.
     */
    iconSize?: PickProp<IField<Data, Payload>, "iconSize">;
    /**
     * Retrieves the 'iconColor' property from the given variable.
     *
     * @template T - The type of the variable.
     * @template K - The key to pick from the variable.
     *
     * @param variable - The variable to pick the property from.
     *
     * @returns - The picked property.
     */
    iconColor?: PickProp<IField<Data, Payload>, "iconColor">;
    /**
     * Retrieves the 'iconBackground' property from the given variable.
     *
     * @template T - The type of the variable.
     * @template K - The key to pick from the variable.
     *
     * @param variable - The variable to pick the property from.
     *
     * @returns - The picked property.
     */
    iconBackground?: PickProp<IField<Data, Payload>, "iconBackground">;
    /**
     * Retrieves the 'icon' property from the given variable.
     *
     * @template T - The type of the variable.
     * @template K - The key to pick from the variable.
     *
     * @param variable - The variable to pick the property from.
     *
     * @returns - The picked property.
     */
    icon?: PickProp<IField<Data, Payload>, "icon">;
    /**
     * Represents the "disabled" property of a field in the given data payload.
     *
     * @template Data - The type of the data payload.
     * @template Payload - The type of the payload object.
     *
     * @param disabled - The value of the "disabled" property.
     *
     * @returns
     */
    disabled?: PickProp<IField<Data, Payload>, "disabled">;
    /**
     * Represents the optional property `groupRef` from the `IField` interface.
     * The `groupRef` property is a subset of the `PickProp` type with the 'groupRef' key.
     *
     * @typedef groupRef
     */
    groupRef?: PickProp<IField<Data, Payload>, "groupRef">;
  }
  /**
   * Represents a private interface for a Icon field.
   * @interface
   * @template Data - The type of data associated with the Icon field.
   */
  export interface IIconFieldPrivate<Data = IAnything> {
    click: PickProp<IManaged<Data>, "click">;
  }
  /**
   * Represents a icon field component.
   *
   * @param param - The properties for the icon field.
   * @returns - The icon field component.
   */
  export const IconField: {
    ({
      disabled,
      click,
      icon,
      iconSize,
      iconColor,
      iconBackground,
    }: IIconFieldProps & IIconFieldPrivate): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      className,
      sx,
      columns,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      phoneHidden: upperPhoneHidden,
      tabletHidden: upperTabletHidden,
      desktopHidden: upperDesktopHidden,
      isDisabled: isDisabledUpper,
      isVisible: isVisibleUpper,
      isInvalid: isInvalidUpper,
      isIncorrect: isIncorrectUpper,
      isReadonly: isReadonlyUpper,
      readTransform,
      writeTransform,
      change,
      fallback,
      ready,
      compute: upperCompute,
      shouldRecompute,
      click,
      map,
      object: upperObject,
      name,
      title,
      menu,
      type,
      debug,
      focus,
      blur,
      invalidity,
      prefix,
      dirty: upperDirty,
      disabled: fieldDisabled,
      readonly: upperReadonly,
      autoFocus,
      style,
      menuItems,
      groupRef: ref,
      fieldRightMargin,
      fieldBottomMargin,
      outlinePaper,
      transparentPaper,
      testId,
      ...otherProps
    }: import("../../../model/IEntity").IEntity<Data, any>): JSX.Element | null;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/fields/ButtonField" {
  import IManaged, { PickProp } from "react-declarative-lite/model/IManaged";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IField from "react-declarative-lite/model/IField";
  /**
   * Interface representing props for the ButtonField component.
   *
   * @template Data - The type of data for the field.
   * @template Payload - The type of payload for the field.
   */
  export interface IButtonFieldProps<Data = IAnything, Payload = IAnything> {
    /**
     * Retrieves the 'buttonVariant' property from the given variable.
     *
     * @template T - The type of the variable.
     * @template K - The key to pick from the variable.
     *
     * @param variable - The variable to pick the property from.
     *
     * @returns - The picked property.
     */
    buttonVariant?: PickProp<IField<Data, Payload>, "buttonVariant">;
    /**
     * Retrieves the 'buttonSize' property from the given variable.
     *
     * @template T - The type of the variable.
     * @template K - The key to pick from the variable.
     *
     * @param variable - The variable to pick the property from.
     *
     * @returns - The picked property.
     */
    buttonSize?: PickProp<IField<Data, Payload>, "buttonSize">;
    /**
     * Retrieves the 'buttonSize' property from the given variable.
     *
     * @template T - The type of the variable.
     * @template K - The key to pick from the variable.
     *
     * @param variable - The variable to pick the property from.
     *
     * @returns - The picked property.
     */
    buttonColor?: PickProp<IField<Data, Payload>, "buttonColor">;
    /**
     * Retrieves the 'icon' property from the given variable.
     *
     * @template T - The type of the variable.
     * @template K - The key to pick from the variable.
     *
     * @param variable - The variable to pick the property from.
     *
     * @returns - The picked property.
     */
    icon?: PickProp<IField<Data, Payload>, "icon">;
    /**
     * Retrieves the 'title' property from the given variable.
     *
     * @template T - The type of the variable.
     * @template K - The key to pick from the variable.
     *
     * @param variable - The variable to pick the property from.
     *
     * @returns - The picked property.
     */
    title?: PickProp<IField<Data, Payload>, "title">;
    /**
     * Retrieves the 'placeholder' property from the given variable.
     *
     * @template T - The type of the variable.
     * @template K - The key to pick from the variable.
     *
     * @param variable - The variable to pick the property from.
     *
     * @returns - The picked property.
     */
    placeholder?: PickProp<IField<Data, Payload>, "placeholder">;
    /**
     * Represents the "disabled" property of a field in the given data payload.
     *
     * @template Data - The type of the data payload.
     * @template Payload - The type of the payload object.
     *
     * @param disabled - The value of the "disabled" property.
     *
     * @returns
     */
    disabled?: PickProp<IField<Data, Payload>, "disabled">;
    /**
     * Represents the optional property `groupRef` from the `IField` interface.
     * The `groupRef` property is a subset of the `PickProp` type with the 'groupRef' key.
     *
     * @typedef groupRef
     */
    groupRef?: PickProp<IField<Data, Payload>, "groupRef">;
  }
  /**
   * Represents a private interface for a Button field.
   * @interface
   * @template Data - The type of data associated with the Button field.
   */
  export interface IButtonFieldPrivate<Data = IAnything> {
    value: PickProp<IManaged<Data>, "value">;
    click: PickProp<IManaged<Data>, "click">;
  }
  /**
   * Represents a button field component.
   *
   * @param param - The properties for the button field.
   * @returns - The button field component.
   */
  export const ButtonField: {
    ({
      disabled,
      click,
      icon,
      title,
      value,
      buttonSize,
      buttonVariant,
      buttonColor,
      placeholder,
    }: IButtonFieldProps & IButtonFieldPrivate): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      className,
      sx,
      columns,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      phoneHidden: upperPhoneHidden,
      tabletHidden: upperTabletHidden,
      desktopHidden: upperDesktopHidden,
      isDisabled: isDisabledUpper,
      isVisible: isVisibleUpper,
      isInvalid: isInvalidUpper,
      isIncorrect: isIncorrectUpper,
      isReadonly: isReadonlyUpper,
      readTransform,
      writeTransform,
      change,
      fallback,
      ready,
      compute: upperCompute,
      shouldRecompute,
      click,
      map,
      object: upperObject,
      name,
      title,
      menu,
      type,
      debug,
      focus,
      blur,
      invalidity,
      prefix,
      dirty: upperDirty,
      disabled: fieldDisabled,
      readonly: upperReadonly,
      autoFocus,
      style,
      menuItems,
      groupRef: ref,
      fieldRightMargin,
      fieldBottomMargin,
      outlinePaper,
      transparentPaper,
      testId,
      ...otherProps
    }: import("../../../model/IEntity").IEntity<Data, any>): JSX.Element | null;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/fields/FileField" {
  import IManaged, { PickProp } from "react-declarative-lite/model/IManaged";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IField from "react-declarative-lite/model/IField";
  /**
   * Interface representing props for the IFileField component.
   * @template Data - The data type for the field.
   * @template Payload - The payload type for the field.
   */
  export interface IFileFieldProps<Data = IAnything, Payload = IAnything> {
    /**
     * Validation factory config
     *
     * @template IField - Type representing the field object.
     * @template Data - Type representing the data object.
     * @template Payload - Type representing the payload object.
     *
     * @returns The value of the "validation" property.
     */
    validation?: PickProp<IField<Data, Payload>, "validation">;
    /**
     * Type definition for the `PickProp` function.
     * Extracts a specific property `description` from a given object type `IField<Data, Payload>`.
     *
     * @template Data - The type of data associated with the field.
     * @template Payload - The type of payload associated with the field.
     * @template T - The type of the object from which to pick the `description` property.
     *
     * @param object - The object from which to pick the `description` property.
     * @return - The value of the `description` property if found, otherwise `undefined`.
     */
    description?: PickProp<IField<Data, Payload>, "description">;
    /**
     * Picks the "outlined" property from a given object type.
     */
    outlined?: PickProp<IField<Data, Payload>, "outlined">;
    /**
     * Type definition for the 'title' property of the PickProp utility.
     *
     * @template T - The type of object from which to pick the property.
     * @template K - The key of the property to be picked.
     */
    title?: PickProp<IField<Data, Payload>, "title">;
    /**
     * Type definition for the placeholder property of a field.
     *
     * @template T - The type of the field.
     * @template K - The key of the property to pick.
     * @template Data - The data object containing the field.
     * @template Payload - The payload type for the field.
     *
     * @typedef PickProp
     *
     * @param field - The field object.
     *
     * @returns - The value of the field's placeholder property.
     */
    placeholder?: PickProp<IField<Data, Payload>, "placeholder">;
    /**
     * Represents the `fileAccept` property of a field.
     *
     * @template Data - The type of data associated with the field.
     * @template Payload - The type of payload associated with the field.
     *
     * @typedef fileAccept
     *
     * @property fileAccept - The accepted file types for the field.
     */
    fileAccept?: PickProp<IField<Data, Payload>, "fileAccept">;
    /**
     * Retrieves the value of the "readonly" property from the provided object.
     *
     * @template IField - The type of the object containing the "readonly" property.
     * @template Data - The type of the data stored in the "IField" object.
     * @template Payload - The type of the payload stored in the "IField" object.
     *
     * @param obj - The object from which to retrieve the "readonly" property.
     *
     * @returns - The value of the "readonly" property, or undefined if it is not present.
     */
    readonly?: PickProp<IField<Data, Payload>, "readonly">;
    /**
     * Represents the "disabled" property of a field.
     *
     * @typedef DisabledField
     */
    disabled?: PickProp<IField<Data, Payload>, "disabled">;
    /**
     * Represents a reference to a group within a field.
     *
     * @typedef groupRef
     */
    groupRef?: PickProp<IField<Data, Payload>, "groupRef">;
    /**
     * Represents the input reference associated with a field in a specific data payload.
     *
     * @typedef IInputRef
     * @property inputRef - The input reference value.
     */
    inputRef?: PickProp<IField<Data, Payload>, "inputRef">;
    /**
     * Label shrink value from the field data.
     *
     * @typedef labelShrink
     * @property [labelShrink] - The label shrink value from the field data.
     * @private
     */
    labelShrink?: PickProp<IField<Data>, "labelShrink">;
    /**
     * Represents the 'upload' property of a given object.
     *
     * @template Data - The type of data for the object containing the 'upload' property.
     * @template Payload - The type of payload for the 'upload' property.
     * @template IField - The type of field for the object containing the 'upload' property.
     * @typedef upload
     */
    upload?: PickProp<IField<Data, Payload>, "upload">;
    /**
     * This variable represents a property 'view' extracted from an object of type PickProp<IField<Data, Payload>, 'view'>.
     * The 'view' property is used to specify a specific view for processing fields.
     *
     * @remarks
     * The 'IField' type is a generic type that takes two type parameters: 'Data' and 'Payload'. It represents a field in a form, with 'Data' representing the data type of the field value
     *, and 'Payload' representing additional payload data associated with the field.
     *
     * The 'PickProp' utility type is used to extract the 'view' property from the 'IField' type.
     *
     */
    view?: PickProp<IField<Data, Payload>, "view">;
  }
  /**
   * Interface representing a private file field.
   *
   * @template Data - The type of data associated with the file field.
   */
  export interface IFileFieldPrivate<Data = IAnything> {
    onChange: PickProp<IManaged<Data>, "onChange">;
    invalid: PickProp<IManaged<Data>, "invalid">;
    incorrect: PickProp<IManaged<Data>, "incorrect">;
    value: PickProp<IManaged<Data>, "value">;
    loading: PickProp<IManaged<Data>, "loading">;
    disabled: PickProp<IManaged<Data>, "disabled">;
    dirty: PickProp<IManaged<Data>, "dirty">;
    name: PickProp<IManaged<Data>, "name">;
  }
  /**
   * FileField component.
   * @param props - The props object.
   * @param props.invalid - Specifies if the field is invalid.
   * @param props.value - The value of the field.
   * @param props.disabled - Specifies if the field is disabled.
   * @param props.readonly - Specifies if the field is read-only.
   * @param props.description - The description of the field.
   * @param props.outlined - Specifies if the field is outlined.
   * @param props.title - The title of the field.
   * @param props.placeholder - The placeholder text of the field.
   * @param props.incorrect - Specifies if the field has an incorrect value.
   * @param props.upload - Specifies if the field is for uploading files.
   * @param props.view - Specifies if the field is for viewing files.
   * @param props.dirty - Specifies if the field has been changed.
   * @param props.labelShrink - Specifies if the field's label should shrink.
   * @param props.loading - Specifies if the field is in a loading state.
   * @param props.onChange - The change event handler function.
   * @param props.inputRef - The ref object for the input element.
   * @param props.name - The name of the field.
   * @return - The rendered File component with the given props.
   */
  export const FileField: {
    ({
      invalid,
      value,
      disabled,
      readonly,
      description,
      outlined,
      title,
      placeholder,
      incorrect,
      upload,
      view,
      dirty,
      labelShrink,
      loading,
      onChange,
      inputRef,
      name,
    }: IFileFieldProps & IFileFieldPrivate): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      className,
      sx,
      columns,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      phoneHidden: upperPhoneHidden,
      tabletHidden: upperTabletHidden,
      desktopHidden: upperDesktopHidden,
      isDisabled: isDisabledUpper,
      isVisible: isVisibleUpper,
      isInvalid: isInvalidUpper,
      isIncorrect: isIncorrectUpper,
      isReadonly: isReadonlyUpper,
      readTransform,
      writeTransform,
      change,
      fallback,
      ready,
      compute: upperCompute,
      shouldRecompute,
      click,
      map,
      object: upperObject,
      name,
      title,
      menu,
      type,
      debug,
      focus,
      blur,
      invalidity,
      prefix,
      dirty: upperDirty,
      disabled: fieldDisabled,
      readonly: upperReadonly,
      autoFocus,
      style,
      menuItems,
      groupRef: ref,
      fieldRightMargin,
      fieldBottomMargin,
      outlinePaper,
      transparentPaper,
      testId,
      ...otherProps
    }: import("../../../model/IEntity").IEntity<Data, any>): JSX.Element | null;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/fields/ComboField" {
  import IManaged, { PickProp } from "react-declarative-lite/model/IManaged";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IField from "react-declarative-lite/model/IField";
  /**
   * Represents the properties for the ComboField component.
   *
   * @template Data - The type of data associated with the field.
   * @template Payload - The type of payload associated with the field.
   */
  export interface IComboFieldProps<Data = IAnything, Payload = IAnything> {
    /**
     * Validation factory config
     *
     * @template IField - Type representing the field object.
     * @template Data - Type representing the data object.
     * @template Payload - Type representing the payload object.
     *
     * @returns The value of the "validation" property.
     */
    validation?: PickProp<IField<Data, Payload>, "validation">;
    /**
     * Retrieves the "description" property
     */
    description?: PickProp<IField<Data, Payload>, "description">;
    /**
     * Represents the `placeholder` property of a field.
     *
     * @template Data - The type of data associated with the field.
     * @template Payload - The type of payload associated with the field.
     * @typedef FieldPlaceholder
     */
    placeholder?: PickProp<IField<Data, Payload>, "placeholder">;
    /**
     * Type outlined defenition
     *
     * @template T - The type of the input object.
     * @template K - The name of the property to pick from the input object.
     *
     * @typedef PickProp
     */
    outlined?: PickProp<IField<Data, Payload>, "outlined">;
    /**
     * Represents a list of items from a specific field's data payload.
     *
     * @typedef itemList
     */
    itemList?: PickProp<IField<Data, Payload>, "itemList">;
    /**
     * Represents the `freeSolo` property of an object.
     *
     * @typedef freeSolo
     * @property [freeSolo] - Indicates whether or not the field allows free-form input.
     * @property field - The parent field object.
     * @property - The type of data associated with the field.
     * @property - The type of payload associated with the field.
     */
    freeSolo?: PickProp<IField<Data, Payload>, "freeSolo">;
    /**
     * Specifies whether the field should allow deselection.
     *
     * @template Data - The data type of the field.
     * @template Payload - The payload type of the field.
     * @typedef noDeselect
     *
     * @param noDeselect - The value of the noDeselect property.
     *
     * @returns - This function does not return any value.
     */
    noDeselect?: PickProp<IField<Data, Payload>, "noDeselect">;
    /**
     * Represents a virtual list box configuration.
     *
     * @typedef virtualListBox
     *
     * @property enabled - Indicates whether the virtual list box is enabled or not.
     * @property size - The number of items to render per batch in the virtual list box.
     * @property infiniteScroll - Indicates whether the virtual list box should support infinite scrolling or not.
     * @property useWindowScroll - Indicates whether the virtual list box should use window scroll or not.
     */
    virtualListBox?: PickProp<IField<Data, Payload>, "virtualListBox">;
    /**
     * Represents the watch item list for a specific field.
     *
     * @typedef watchItemList
     * @property - An array of watch items.
     */
    watchItemList?: PickProp<IField<Data, Payload>, "watchItemList">;
    /**
     * Retrieves the "readonly" property from a given object of type IField<Data, Payload>.
     *
     * @param field - The object from which to retrieve the "readonly" property.
     * @returns The value of the "readonly" property.
     */
    readonly?: PickProp<IField<Data, Payload>, "readonly">;
    /**
     * Represents the "disabled" property of a field.
     *
     * @typedef Disabled
     * @property disabled - Indicates if the field is disabled or not.
     */
    disabled?: PickProp<IField<Data, Payload>, "disabled">;
    /**
     * Represents the property `labelShrink` which is an optional pick property of type `PickProp<IField<Data>, "labelShrink">`.
     *
     * @typedef labelShrink
     */
    labelShrink?: PickProp<IField<Data>, "labelShrink">;
    /**
     * Retrieves the "title" property for a field
     */
    title?: PickProp<IField<Data, Payload>, "title">;
    /**
     * Represents an optional property "tr" of type PickProp<IField<Data, Payload>, "tr">.
     *
     * @typedef tr
     */
    tr?: PickProp<IField<Data, Payload>, "tr">;
    /**
     * This variable represents a reference to a group within a field's data payload.
     * It is an optional property and is of type `PickProp<IField<Data, Payload>, 'groupRef'>`.
     *
     * @typedef groupRef
     */
    groupRef?: PickProp<IField<Data, Payload>, "groupRef">;
  }
  /**
   * Represents the private interface for the ComboField class.
   * @template Data - The type of data managed by the ComboField.
   */
  export interface IComboFieldPrivate<Data = IAnything> {
    value: PickProp<IManaged<Data>, "value">;
    readonly: PickProp<IManaged<Data>, "readonly">;
    fieldReadonly: PickProp<IManaged<Data>, "fieldReadonly">;
    onChange: PickProp<IManaged<Data>, "onChange">;
    dirty: PickProp<IManaged<Data>, "dirty">;
    invalid: PickProp<IManaged<Data>, "invalid">;
    loading: PickProp<IManaged<Data>, "loading">;
    incorrect: PickProp<IManaged<Data>, "incorrect">;
    withContextMenu: PickProp<IManaged<Data>, "withContextMenu">;
  }
  /**
   * ComboField component.
   *
   * @param props - The props object.
   * @param props.value - The value of the ComboField.
   * @param [props.disabled=false] - Specifies whether the ComboField is disabled.
   * @param [props.readonly=false] - Specifies whether the ComboField is readonly.
   * @param [props.description=""] - The description of the ComboField.
   * @param [props.placeholder=""] - The placeholder text of the ComboField.
   * @param [props.outlined=false] - Specifies whether the ComboField should be outlined.
   * @param [props.itemList=[]] - The list of items for the ComboField.
   * @param [props.freeSolo=false] - Specifies whether the ComboField allows free text input.
   * @param [props.virtualListBox=true] - Specifies whether the ComboField should use a virtual list box for rendering.
   * @param [props.watchItemList] - Specifies whether to watch changes in the itemList prop.
   * @param [props.noDeselect] - Specifies whether the ComboField should prevent deselecting options.
   * @param [props.labelShrink] - Specifies whether the label of the ComboField should shrink when there is a value.
   * @param [props.title=""] - The title of the ComboField.
   * @param [props.dirty] - Specifies whether the ComboField has been modified.
   * @param [props.invalid] - Specifies whether the ComboField is invalid.
   * @param [props.incorrect] - Specifies whether the ComboField has incorrect data.
   * @param [props.withContextMenu] - Specifies whether the ComboField should display a context menu.
   * @param [props.tr=(s) => s.toString()] - The translation function for the ComboField.
   * @param [props.onChange] - The event handler function for onChange event.
   *
   * @returns The ComboField component.
   */
  export const ComboField: {
    ({
      value,
      disabled,
      readonly,
      description,
      placeholder,
      outlined,
      itemList,
      freeSolo,
      virtualListBox,
      watchItemList,
      noDeselect,
      labelShrink,
      title,
      dirty,
      loading,
      invalid,
      incorrect,
      fieldReadonly,
      withContextMenu,
      tr,
      onChange,
    }: IComboFieldProps & IComboFieldPrivate): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      className,
      sx,
      columns,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      phoneHidden: upperPhoneHidden,
      tabletHidden: upperTabletHidden,
      desktopHidden: upperDesktopHidden,
      isDisabled: isDisabledUpper,
      isVisible: isVisibleUpper,
      isInvalid: isInvalidUpper,
      isIncorrect: isIncorrectUpper,
      isReadonly: isReadonlyUpper,
      readTransform,
      writeTransform,
      change,
      fallback,
      ready,
      compute: upperCompute,
      shouldRecompute,
      click,
      map,
      object: upperObject,
      name,
      title,
      menu,
      type,
      debug,
      focus,
      blur,
      invalidity,
      prefix,
      dirty: upperDirty,
      disabled: fieldDisabled,
      readonly: upperReadonly,
      autoFocus,
      style,
      menuItems,
      groupRef: ref,
      fieldRightMargin,
      fieldBottomMargin,
      outlinePaper,
      transparentPaper,
      testId,
      ...otherProps
    }: import("../../../model/IEntity").IEntity<Data, any>): JSX.Element | null;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/fields/ComponentField" {
  import IField from "react-declarative-lite/model/IField";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IManaged, { PickProp } from "react-declarative-lite/model/IManaged";
  /**
   * Props interface for the IComponentField component.
   *
   * @template Data - The type of data for the field.
   * @template Payload - The type of payload for the field.
   */
  export interface IComponentFieldProps<Data = IAnything, Payload = IAnything> {
    /**
     * Type definition for the 'name' property of an object.
     * The 'name' property is extracted from a specific type and is used to pick a specific property from that type.
     *
     * @template Data The data type to extract the property from.
     * @template Payload The type of the property to pick.
     *
     * @typedef name
     */
    name?: PickProp<IField<Data, Payload>, "name">;
    /**
     * Type definition for the `placeholder` property of a field.
     *
     * @template Data - The type of data associated with the field.
     * @template Payload - The type of payload used for updating the field.
     */
    placeholder?: PickProp<IField<Data, Payload>, "placeholder">;
    /**
     * Retrieves the "element" property from the given object
     *
     * @param element - The object to extract the "element" property from
     * @returns - The value of the "element" property
     */
    element?: PickProp<IField<Data, Payload>, "element">;
    /**
     * Represents a property of an object, where the key is "groupRef" and the value is of type PickProp<IField<Data, Payload>, "groupRef">.
     *
     * @property groupRef - The 'groupRef' property of the object.
     */
    groupRef?: PickProp<IField<Data, Payload>, "groupRef">;
    /**
     * Retrieves the "className" property from an object of type PickProp<IField<Data, Payload>, "className">.
     *
     * @param obj - The input object containing the "className" property.
     * @returns - The value of the "className" property if present, otherwise undefined.
     * @throws If the input object is not of the expected type.
     */
    className?: PickProp<IField<Data, Payload>, "className">;
    /**
     * Represents the contextual information for watching a single field in a data structure.
     * @typedef watchOneContext?
     */
    watchOneContext?: PickProp<IField<Data, Payload>, "watchOneContext">;
    /**
     * Returns the style property of the given variable.
     *
     * @template T - The type of the variable.
     * @template K - The type of the property to be picked.
     * @param obj - The variable from which to pick the property.
     * @param prop - The property to pick from the variable.
     * @returns - The picked property value.
     */
    style?: PickProp<IField<Data, Payload>, "style">;
    /**
     * Represents the 'sx' property of a PickProp.
     *
     * @template IField - The input field type.
     * @template Data - The data type.
     * @template Payload - The payload type.
     *
     * @param - The input field.
     *
     * @returns - The value of the 'sx' property.
     */
    sx?: PickProp<IField<Data, Payload>, "sx">;
  }
  /**
   * @interface
   * @template Data - The type of data for the component field
   * @description Represents the private interface for a component field
   */
  interface IComponentFieldPrivate<Data = IAnything> {
    object: PickProp<IManaged<Data>, "object">;
    disabled: PickProp<IManaged<Data>, "disabled">;
    value: PickProp<IManaged<Data>, "value">;
    invalid: PickProp<IManaged<Data>, "invalid">;
    incorrect: PickProp<IManaged<Data>, "incorrect">;
    readonly: PickProp<IManaged<Data>, "readonly">;
    onChange: PickProp<IManaged<Data>, "onChange">;
    click: PickProp<IManaged<Data>, "click">;
    outlinePaper?: PickProp<IField<Data>, "outlinePaper">;
    transparentPaper?: PickProp<IField<Data>, "transparentPaper">;
  }
  /**
   * Represents a component field.
   * @param props - The component props.
   * @param props.disabled - Indicates if the field is disabled.
   * @param props.readonly - Indicates if the field is readonly.
   * @param props.watchOneContext - Indicates if the field should watch the One context.
   * @param props.element - The element to render, default is Fragment.
   * @param props.outlinePaper - Indicates if the field should have an outline paper.
   * @param props.transparentPaper - Indicates if the field should have a transparent paper.
   * @param props.object - A generic object to pass to the field.
   * @param props.otherProps - Other props to pass to the field.
   * @param - The rendered field component.
   */
  export const ComponentField: {
    ({
      disabled,
      invalid,
      incorrect,
      readonly,
      value,
      watchOneContext,
      element: Element,
      outlinePaper,
      transparentPaper,
      object,
      onChange: onValueChange,
      click: onClick,
      ...otherProps
    }: IComponentFieldProps & IComponentFieldPrivate): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      className,
      sx,
      columns,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      phoneHidden: upperPhoneHidden,
      tabletHidden: upperTabletHidden,
      desktopHidden: upperDesktopHidden,
      isDisabled: isDisabledUpper,
      isVisible: isVisibleUpper,
      isInvalid: isInvalidUpper,
      isIncorrect: isIncorrectUpper,
      isReadonly: isReadonlyUpper,
      readTransform,
      writeTransform,
      change,
      fallback,
      ready,
      compute: upperCompute,
      shouldRecompute,
      click,
      map,
      object: upperObject,
      name,
      title,
      menu,
      type,
      debug,
      focus,
      blur,
      invalidity,
      prefix,
      dirty: upperDirty,
      disabled: fieldDisabled,
      readonly: upperReadonly,
      autoFocus,
      style,
      menuItems,
      groupRef: ref,
      fieldRightMargin,
      fieldBottomMargin,
      outlinePaper,
      transparentPaper,
      testId,
      ...otherProps
    }: import("../../../model/IEntity").IEntity<Data, any>): JSX.Element | null;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/fields/ItemsField" {
  import IManaged, { PickProp } from "react-declarative-lite/model/IManaged";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IField from "react-declarative-lite/model/IField";
  /**
   * Props for the IItemsField component.
   *
   * @template Data - The type of data for the field.
   * @template Payload - The type of payload for the field.
   */
  export interface IItemsFieldProps<Data = IAnything, Payload = IAnything> {
    /**
     * Validation factory config
     *
     * @template IField - Type representing the field object.
     * @template Data - Type representing the data object.
     * @template Payload - Type representing the payload object.
     *
     * @returns The value of the "validation" property.
     */
    validation?: PickProp<IField<Data, Payload>, "validation">;
    /**
     * Returns the "description" property of the given object if it exists, otherwise returns undefined.
     *
     * @template T - The type of the object to pick the property from.
     * @template K - The key of the property to pick.
     * @param obj - The object to pick the property from.
     * @param key - The key of the property to pick.
     * @returns - The value of the "description" property if it exists, otherwise undefined.
     */
    description?: PickProp<IField<Data, Payload>, "description">;
    /**
     * Type definition for the `placeholder` property.
     *
     * @template T - The type of the field.
     * @template K - The type of the key to pick from the field.
     * @param field - The field object.
     * @param key - The key representing the property to pick from the field.
     * @returns The picked `placeholder` property from the field.
     */
    placeholder?: PickProp<IField<Data, Payload>, "placeholder">;
    /**
     * Picks the specified property "outlined" from the given object type "IField<Data, Payload>".
     *
     * @template Data - The type of data for the field.
     * @template Payload - The type of payload for the field.
     * @template T - The resulting type after picking the property.
     *
     * @param field - The object from which to pick the property.
     *
     * @returns - The value of the "outlined" property.
     */
    outlined?: PickProp<IField<Data, Payload>, "outlined">;
    /**
     * Represents the itemList property of a field in the Data object.
     * @typedef itemList
     * @property [itemList] - The value of the itemList property.
     */
    itemList?: PickProp<IField<Data, Payload>, "itemList">;
    /**
     * Represents the `freeSolo` property of a field object.
     *
     * @typedef freeSolo
     * @description This property determines if the field supports selecting values that are not contained in the predefined options list.
     * @property [freeSolo] - A boolean value representing if the field allows free text input.
     */
    freeSolo?: PickProp<IField<Data, Payload>, "freeSolo">;
    /**
     * Represents the configuration for a virtual list box field in a form.
     *
     * @typedef VirtualListBoxConfig
     * @property virtualListBox - The value of the virtualListBox property.
     */
    virtualListBox?: PickProp<IField<Data, Payload>, "virtualListBox">;
    /**
     * Represents an optional readonly flag of a field.
     *
     * @typedef readonly
     */
    readonly?: PickProp<IField<Data, Payload>, "readonly">;
    /**
     * Represents the "disabled" property of a field.
     *
     * @typedef disabled
     * @property value - Indicates whether the field is disabled or not.
     */
    disabled?: PickProp<IField<Data, Payload>, "disabled">;
    /**
     * Represents a configuration option for disabling deselect functionality.
     *
     * @template Data - The type of data associated with the field.
     * @template Payload - The type of payload associated with the field.
     * @typedef noDeselect
     */
    noDeselect?: PickProp<IField<Data, Payload>, "noDeselect">;
    /**
     * Type definition for the "title" property of an object.
     *
     * Suppose we have an object of type "IField<Data, Payload>". This type represents a field
     * in a form, where "Data" is the type of the form data and "Payload" is the type of data that
     * should be submitted when the form is submitted.
     *
     * The "PickProp" utility type is used to extract the "title" property from the "IField<Data, Payload>"
     * type. This variable represents the extracted type.
     *
     * @template Data - The type of the form data.
     * @template Payload - The type of the data to be submitted.
     *
     * @typedef PickProp<IField<Data, Payload>, "title">
     */
    title?: PickProp<IField<Data, Payload>, "title">;
    /**
     * Represents the "tr" property of a field in the given data and payload.
     *
     * @template Data - The type of data.
     * @template Payload - The type of payload.
     * @typeParam IField - The type of field.
     * @typeParam PickProp - The type for picking properties.
     *
     * @property tr - The "tr" property of the field.
     */
    tr?: PickProp<IField<Data, Payload>, "tr">;
    /**
     * Retrieves the value of the 'groupRef' property from the given object 'fieldData'.
     *
     * @param fieldData - The object containing the 'groupRef' property.
     *
     * @returns - The value of the 'groupRef' property from 'fieldData', or undefined if it doesn't exist.
     */
    groupRef?: PickProp<IField<Data, Payload>, "groupRef">;
    /**
     * Represents the optional "labelShrink" property of an object that implements the `IField<Data>` interface.
     * The "labelShrink" property is of type `PickProp<IField<Data>, "labelShrink">`, which picks the "labelShrink" property
     * from the `IField<Data>` interface.
     *
     * @typedef labelShrink
     */
    labelShrink?: PickProp<IField<Data>, "labelShrink">;
    /**
     * Represents a variable watchItemList.
     * @typedef watchItemList
     * @property watchItemList - The watchItemList property of type PickProp<IField<Data>, "watchItemList">
     */
    watchItemList?: PickProp<IField<Data>, "watchItemList">;
  }
  /**
   * Represents a private interface for an items field.
   *
   * @interface IItemsFieldPrivate
   * @template Data The type of data managed by the items field.
   */
  export interface IItemsFieldPrivate<Data = IAnything> {
    onChange: PickProp<IManaged<Data>, "onChange">;
    value: PickProp<IManaged<Data>, "value">;
    dirty: PickProp<IManaged<Data>, "dirty">;
    invalid: PickProp<IManaged<Data>, "invalid">;
    loading: PickProp<IManaged<Data>, "loading">;
    incorrect: PickProp<IManaged<Data>, "incorrect">;
    fieldReadonly: PickProp<IManaged<Data>, "fieldReadonly">;
    withContextMenu: PickProp<IManaged<Data>, "withContextMenu">;
  }
  /**
   * Renders a component for displaying a list of items.
   *
   * @param props - The properties for the ItemsField component.
   * @param props.value - The current value of the component.
   * @param [props.disabled=false] - Whether the component is disabled or not.
   * @param [props.readonly=false] - Whether the component is readonly or not.
   * @param [props.description] - The description for the component.
   * @param [props.placeholder] - The placeholder text for the component.
   * @param [props.outlined=false] - Whether the component is outlined or not.
   * @param [props.itemList=[]] - The list of items to display.
   * @param [props.freeSolo=false] - Whether the component allows free text input or not.
   * @param [props.virtualListBox=true] - Whether to use a virtual list box for efficiency or not.
   * @param [props.labelShrink] - Whether the label should shrink when there is a value or not.
   * @param [props.watchItemList] - A function to watch the itemList property for changes.
   * @param [props.noDeselect] - Whether to prevent deselecting an item or not.
   * @param [props.dirty] - Whether the component's value is dirty or not.
   * @param [props.invalid] - Whether the component's value is invalid or not.
   * @param [props.incorrect] - Whether the component's value is incorrect or not.
   * @param [props.title] - The title for the component.
   * @param [props.withContextMenu] - Whether to show a context menu for the component or not.
   * @param [props.tr=(s) => s.toString()] - A translation function for translating strings.
   * @param [props.onChange] - A callback function called when the component's value changes.
   *
   * @returns - The rendered Items component.
   */
  export const ItemsField: {
    ({
      value,
      disabled,
      readonly,
      description,
      placeholder,
      outlined,
      itemList,
      freeSolo,
      virtualListBox,
      labelShrink,
      watchItemList,
      noDeselect,
      loading,
      dirty,
      invalid,
      incorrect,
      title,
      fieldReadonly,
      withContextMenu,
      tr,
      onChange,
    }: IItemsFieldProps & IItemsFieldPrivate): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      className,
      sx,
      columns,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      phoneHidden: upperPhoneHidden,
      tabletHidden: upperTabletHidden,
      desktopHidden: upperDesktopHidden,
      isDisabled: isDisabledUpper,
      isVisible: isVisibleUpper,
      isInvalid: isInvalidUpper,
      isIncorrect: isIncorrectUpper,
      isReadonly: isReadonlyUpper,
      readTransform,
      writeTransform,
      change,
      fallback,
      ready,
      compute: upperCompute,
      shouldRecompute,
      click,
      map,
      object: upperObject,
      name,
      title,
      menu,
      type,
      debug,
      focus,
      blur,
      invalidity,
      prefix,
      dirty: upperDirty,
      disabled: fieldDisabled,
      readonly: upperReadonly,
      autoFocus,
      style,
      menuItems,
      groupRef: ref,
      fieldRightMargin,
      fieldBottomMargin,
      outlinePaper,
      transparentPaper,
      testId,
      ...otherProps
    }: import("../../../model/IEntity").IEntity<Data, any>): JSX.Element | null;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/fields/LineField" {
  import { PickProp } from "react-declarative-lite/model/IManaged";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IField from "react-declarative-lite/model/IField";
  /**
   * Represents the properties of a line field.
   * @template Data - The type of data for the field.
   * @template Payload - The type of payload for the field.
   */
  export interface ILineFieldProps<Data = IAnything, Payload = IAnything> {
    /**
     * Retrieves the 'title' property from the provided object type with the specified properties.
     *
     * @template T - The object type from which to retrieve the property.
     * @template Key - The property key to pick from the object type.
     * @param obj - The object from which to pick the property.
     * @param key - The key of the property to be picked.
     * @returns The value of the specified property from the object type.
     */
    title?: PickProp<IField<Data, Payload>, "title">;
    /**
     * Retrieves the value of the 'lineTransparent' property from the provided object.
     *
     * @template Data - The type of data associated with the field.
     * @template Payload - The type of payload associated with the field.
     * @typedef lineTransparent
     * @property lineTransparent - The value of the 'lineTransparent' property.
     */
    lineTransparent?: PickProp<IField<Data, Payload>, "lineTransparent">;
    /**
     * Represents a reference to a group of fields.
     *
     * @typedef groupRef
     *
     * @property fieldPath - The path to the group field within the form data structure.
     * @property [isRequired] - Indicates if the group field is required or optional.
     * @property [errorMessage] - The error message displayed when the group field is invalid.
     * @property [label] - The label displayed for the group field.
     */
    groupRef?: PickProp<IField<Data, Payload>, "groupRef">;
  }
  /**
   * Renders a Line component with optional transparency and a title.
   *
   * @param props - The props for the LineField component.
   * @param props.title - The title for the Line component.
   * @param props.lineTransparent - Whether the Line component should be transparent.
   * @returns The rendered Line component.
   */
  export const LineField: {
    ({ title, lineTransparent }: ILineFieldProps): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      className,
      sx,
      columns,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      phoneHidden: upperPhoneHidden,
      tabletHidden: upperTabletHidden,
      desktopHidden: upperDesktopHidden,
      isDisabled: isDisabledUpper,
      isVisible: isVisibleUpper,
      isInvalid: isInvalidUpper,
      isIncorrect: isIncorrectUpper,
      isReadonly: isReadonlyUpper,
      readTransform,
      writeTransform,
      change,
      fallback,
      ready,
      compute: upperCompute,
      shouldRecompute,
      click,
      map,
      object: upperObject,
      name,
      title,
      menu,
      type,
      debug,
      focus,
      blur,
      invalidity,
      prefix,
      dirty: upperDirty,
      disabled: fieldDisabled,
      readonly: upperReadonly,
      autoFocus,
      style,
      menuItems,
      groupRef: ref,
      fieldRightMargin,
      fieldBottomMargin,
      outlinePaper,
      transparentPaper,
      testId,
      ...otherProps
    }: import("../../../model/IEntity").IEntity<Data, any>): JSX.Element | null;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/fields/ProgressField" {
  import IManaged, { PickProp } from "react-declarative-lite/model/IManaged";
  import IField from "react-declarative-lite/model/IField";
  import IAnything from "react-declarative-lite/model/IAnything";
  /**
   * Represents the props for the ProgressField component.
   * @template Data - The type of data associated with the field.
   * @template Payload - The type of payload associated with the field.
   */
  export interface IProgressFieldProps<Data = IAnything, Payload = IAnything> {
    /**
     * Maximum percentage value for a field.
     *
     * @typedef maxPercent
     */
    maxPercent?: PickProp<IField<Data, Payload>, "maxPercent">;
    /**
     * Determines whether to show the percent label.
     *
     * @typedef IField
     * @typedef Payload
     * @typedef PickProp
     *
     * @param showPercentLabel - The field containing the showPercentLabel property.
     * @returns - Whether to show the percent label.
     */
    showPercentLabel?: PickProp<IField<Data, Payload>, "showPercentLabel">;
    /**
     * Represents a reference to a group in a field.
     *
     * @typedef groupRef
     * @property [groupRef] - The group reference.
     */
    groupRef?: PickProp<IField<Data, Payload>, "groupRef">;
  }
  /**
   * Represents a private progress field.
   * @template Data - The type of data associated with the field.
   */
  export interface IProgressFieldPrivate<Data = IAnything> {
    value: PickProp<IManaged<Data>, "value">;
  }
  /**
   * Represents a progress field component.
   *
   * @typedef ProgressField
   * @property maxPercent - The maximum percentage value for the progress field.
   * @property showPercentLabel - Determines if the percentage label should be displayed.
   * @property value - The current value of the progress field.
   *
   * @param props - The props object containing the properties required for the progress field.
   * @param props.maxPercent - The maximum percentage value for the progress field.
   * @param props.showPercentLabel - Determines if the percentage label should be displayed.
   * @param props.value - The current value of the progress field.
   *
   * @returns The rendered progress field component.
   */
  export const ProgressField: {
    ({
      maxPercent,
      showPercentLabel,
      value,
    }: IProgressFieldProps & IProgressFieldPrivate): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      className,
      sx,
      columns,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      phoneHidden: upperPhoneHidden,
      tabletHidden: upperTabletHidden,
      desktopHidden: upperDesktopHidden,
      isDisabled: isDisabledUpper,
      isVisible: isVisibleUpper,
      isInvalid: isInvalidUpper,
      isIncorrect: isIncorrectUpper,
      isReadonly: isReadonlyUpper,
      readTransform,
      writeTransform,
      change,
      fallback,
      ready,
      compute: upperCompute,
      shouldRecompute,
      click,
      map,
      object: upperObject,
      name,
      title,
      menu,
      type,
      debug,
      focus,
      blur,
      invalidity,
      prefix,
      dirty: upperDirty,
      disabled: fieldDisabled,
      readonly: upperReadonly,
      autoFocus,
      style,
      menuItems,
      groupRef: ref,
      fieldRightMargin,
      fieldBottomMargin,
      outlinePaper,
      transparentPaper,
      testId,
      ...otherProps
    }: import("../../../model/IEntity").IEntity<Data, any>): JSX.Element | null;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/fields/RadioField" {
  import IField from "react-declarative-lite/model/IField";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IManaged, { PickProp } from "react-declarative-lite/model/IManaged";
  /**
   * Interface for defining props of a radio field component.
   * @template Data - The data type.
   * @template Payload - The payload type.
   */
  export interface IRadioFieldProps<Data = IAnything, Payload = IAnything> {
    /**
     * Type definition for the "title" property of an object.
     * It is a generic type that picks the "title" property from a given object type.
     *
     * @template IField - The object type from which to pick the "title" property.
     * @template Data - The data type of the object.
     * @template Payload - The payload type of the object.
     */
    title?: PickProp<IField<Data, Payload>, "title">;
    /**
     * Represents the radio value of a field.
     *
     * @typedef RadioValue
     */
    radioValue?: PickProp<IField<Data, Payload>, "radioValue">;
    /**
     * Represents a reference to a group in a field object.
     *
     * @typedef groupRef
     * @property groupRef - The reference to the group.
     */
    groupRef?: PickProp<IField<Data, Payload>, "groupRef">;
    /**
     * Type definition for the "readonly" property of a field.
     *
     * @typedef ReadonlyProp
     *
     * @description
     * This property represents the "readonly" attribute of a field.
     * It is used to indicate whether a field is read-only or not.
     *
     * The value of this property is derived from the "IField" interface
     * in the "Data" module and the "Payload" type.
     */
    readonly?: PickProp<IField<Data, Payload>, "readonly">;
    /**
     * Represents the 'disabled' property of a field.
     *
     * The 'disabled' property determines whether a field is disabled or not. If set to true, the field will be disabled
     * and the user will not be able to interact with it.
     *
     * @template Data The type of data passed to the field.
     * @template Payload The type of payload received by the field.
     * @typedef PickProp
     */
    disabled?: PickProp<IField<Data, Payload>, "disabled">;
  }
  /**
   * Represents a private interface for a radio field.
   *
   * @template Data - the type of data the radio field manages
   */
  export interface IRadioFieldPrivate<Data = IAnything> {
    value: PickProp<IManaged<Data>, "value">;
    onChange: PickProp<IManaged<Data>, "onChange">;
    name?: PickProp<IManaged<Data>, "name">;
  }
  /**
   * RadioField component renders a radio input field with a label.
   *
   * @param props - The props object containing the following properties:
   * @param props.disabled - Determines whether the radio input field is disabled or not.
   * @param props.value - The value for the radio input field.
   * @param props.onChange - The callback function to be called when the value of the radio input field changes.
   * @param props.title - The title/label for the radio input field.
   * @param props.radioValue - The value associated with the radio input field.
   * @param [props.name=''] - The name attribute for the radio input field.
   *
   * @returns - The rendered RadioField component.
   */
  export const RadioField: {
    ({
      disabled,
      value,
      onChange,
      readonly,
      title,
      radioValue,
      name,
    }: IRadioFieldProps & IRadioFieldPrivate): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      className,
      sx,
      columns,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      phoneHidden: upperPhoneHidden,
      tabletHidden: upperTabletHidden,
      desktopHidden: upperDesktopHidden,
      isDisabled: isDisabledUpper,
      isVisible: isVisibleUpper,
      isInvalid: isInvalidUpper,
      isIncorrect: isIncorrectUpper,
      isReadonly: isReadonlyUpper,
      readTransform,
      writeTransform,
      change,
      fallback,
      ready,
      compute: upperCompute,
      shouldRecompute,
      click,
      map,
      object: upperObject,
      name,
      title,
      menu,
      type,
      debug,
      focus,
      blur,
      invalidity,
      prefix,
      dirty: upperDirty,
      disabled: fieldDisabled,
      readonly: upperReadonly,
      autoFocus,
      style,
      menuItems,
      groupRef: ref,
      fieldRightMargin,
      fieldBottomMargin,
      outlinePaper,
      transparentPaper,
      testId,
      ...otherProps
    }: import("../../../model/IEntity").IEntity<Data, any>): JSX.Element | null;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/fields/RatingField" {
  import IManaged, { PickProp } from "react-declarative-lite/model/IManaged";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IField from "react-declarative-lite/model/IField";
  /**
   * Represents the properties for a rating field component.
   *
   * @template Data - The type of data for the field.
   * @template Payload - The type of payload for the field.
   */
  export interface IRatingFieldProps<Data = IAnything, Payload = IAnything> {
    /**
     * Retrieves the 'readonly' property value of a given field.
     *
     * @param field - The field object to retrieve the property from.
     *
     * @return {PickProp<IField<Data, Payload>, "readonly">} - The value of the 'readonly' property.
     */
    readonly?: PickProp<IField<Data, Payload>, "readonly">;
    /**
     * Represents the groupRef property of the IField object.
     *
     * @typedef groupRef
     * @property [groupRef] - The reference to the group.
     */
    groupRef?: PickProp<IField<Data, Payload>, "groupRef">;
    /**
     * Represents the disabled property of an input field.
     *
     * @typedef disabled
     */
    disabled?: PickProp<IField<Data, Payload>, "disabled">;
  }
  /**
   * Interface representing a private rating field.
   *
   * @template Data - The type of data associated with the field.
   */
  export interface IRatingFieldPrivate<Data = IAnything> {
    name?: string;
    value: PickProp<IManaged<Data>, "value">;
    readonly: PickProp<IManaged<Data>, "readonly">;
    onChange: PickProp<IManaged<Data>, "onChange">;
  }
  /**
   * Renders a Rating field component.
   *
   * @param props - The properties for the Rating field.
   * @param props.value - The current value of the Rating field.
   * @param props.disabled - Indicates if the Rating field is disabled.
   * @param props.readonly - Indicates if the Rating field is read-only.
   * @param props.name - The name of the Rating field.
   * @param props.onChange - The function to be called when the value of the Rating field changes.
   *
   * @returns The rendered Rating field component.
   */
  export const RatingField: {
    ({
      value,
      disabled,
      readonly,
      name,
      onChange,
    }: IRatingFieldProps & IRatingFieldPrivate): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      className,
      sx,
      columns,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      phoneHidden: upperPhoneHidden,
      tabletHidden: upperTabletHidden,
      desktopHidden: upperDesktopHidden,
      isDisabled: isDisabledUpper,
      isVisible: isVisibleUpper,
      isInvalid: isInvalidUpper,
      isIncorrect: isIncorrectUpper,
      isReadonly: isReadonlyUpper,
      readTransform,
      writeTransform,
      change,
      fallback,
      ready,
      compute: upperCompute,
      shouldRecompute,
      click,
      map,
      object: upperObject,
      name,
      title,
      menu,
      type,
      debug,
      focus,
      blur,
      invalidity,
      prefix,
      dirty: upperDirty,
      disabled: fieldDisabled,
      readonly: upperReadonly,
      autoFocus,
      style,
      menuItems,
      groupRef: ref,
      fieldRightMargin,
      fieldBottomMargin,
      outlinePaper,
      transparentPaper,
      testId,
      ...otherProps
    }: import("../../../model/IEntity").IEntity<Data, any>): JSX.Element | null;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/fields/SliderField" {
  import IField from "react-declarative-lite/model/IField";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IManaged, { PickProp } from "react-declarative-lite/model/IManaged";
  /**
   * Interface representing the properties of a Slider Field component.
   * @template Data - The data type used in the Field component.
   * @template Payload - The payload type used in the Field component.
   */
  export interface ISliderFieldProps<Data = IAnything, Payload = IAnything> {
    /**
     * Represents the configuration for a step slider field.
     *
     * @typedef stepSlider
     * @property [propertyName] - The name of the property for this step slider field.
     * @property [label] - The label to display for this step slider field.
     * @property [minValue] - The minimum value for the step slider.
     * @property [maxValue] - The maximum value for the step slider.
     * @property [step] - The step interval for the step slider.
     * @property [unit] - The unit of measurement for the step slider.
     */
    stepSlider?: PickProp<IField<Data, Payload>, "stepSlider">;
    /**
     * The maximum value for a slider in a field of a data object payload.
     *
     * @typedef maxSlider
     * @property [maxSlider] - The maximum value for the slider. If not provided, there is no maximum limit.
     */
    maxSlider?: PickProp<IField<Data, Payload>, "maxSlider">;
    /**
     * The minimum value for a slider in a field.
     *
     * @property [minSlider] - The minimum value for a slider. If undefined, there is no minimum value.
     */
    minSlider?: PickProp<IField<Data, Payload>, "minSlider">;
    /**
     * Specifies the format for the labels of a slider component.
     *
     * @typedef labelFormatSlider
     * @property [labelFormatSlider.format] - The format string for the labels.
     */
    labelFormatSlider?: PickProp<IField<Data, Payload>, "labelFormatSlider">;
    /**
     * Retrieve the value of the 'leadingIconRipple' property from a given object.
     *
     * @param obj - The object which contains the 'leadingIconRipple' property.
     *
     * @returns The value of the 'leadingIconRipple' property.
     */
    leadingIconRipple?: PickProp<IField<Data, Payload>, "leadingIconRipple">;
    /**
     * The `trailingIconRipple` variable is an optional property that represents the ripple effect
     * configuration for the trailing icon in a field component. It is a pick property that is extracted
     * from the `trailingIconRipple` property of the `IField` interface.
     *
     * The `trailingIconRipple` property defines the behavior and appearance of the ripple effect when
     * interacting with the trailing icon.
     *
     * @typedef trailingIconRipple
     */
    trailingIconRipple?: PickProp<IField<Data, Payload>, "trailingIconRipple">;
    /**
     * Represents the leading icon of a field.
     *
     * @typedef leadingIcon
     */
    leadingIcon?: PickProp<IField<Data, Payload>, "leadingIcon">;
    /**
     * Sets the trailing icon of the field.
     *
     * @param trailingIcon - The trailing icon to be set for the field.
     */
    trailingIcon?: PickProp<IField<Data, Payload>, "trailingIcon">;
    /**
     * This variable represents an optional function called leadingIconClick, which is a property of the IField interface. It is picked from the PickProp type, using the 'leadingIconClick
     *' key.
     *
     * @typedef leadingIconClick
     */
    leadingIconClick?: PickProp<IField<Data, Payload>, "leadingIconClick">;
    /**
     * Represents the event handler for when the trailing icon of a field is clicked.
     * @typedef trailingIconClick
     */
    trailingIconClick?: PickProp<IField<Data, Payload>, "trailingIconClick">;
    /**
     * The color of the slider thumb.
     *
     * @typedef SliderThumbColor
     */
    sliderThumbColor?: PickProp<IField<Data, Payload>, "sliderThumbColor">;
    /**
     * The color of the slider track.
     *
     * @property [sliderTrackColor] - The color of the slider track. If not provided, a default color will be used.
     */
    sliderTrackColor?: PickProp<IField<Data, Payload>, "sliderTrackColor">;
    /**
     * Retrieves the value of the `sliderRailColor` property from the given object.
     *
     * @param input - The input object.
     * @returns - The value of the `sliderRailColor` property.
     */
    sliderRailColor?: PickProp<IField<Data, Payload>, "sliderRailColor">;
    /**
     * Represents the optional property 'groupRef' of an object of type `IField<Data, Payload>`.
     *
     * @typedef groupRef
     * @property [groupRef] - The group reference associated with the field.
     */
    groupRef?: PickProp<IField<Data, Payload>, "groupRef">;
    /**
     * Retrieves the `readonly` property value from the provided object.
     *
     * @param obj - The object from which to retrieve the `readonly` property.
     * @returns - The value of the `readonly` property.
     */
    readonly?: PickProp<IField<Data, Payload>, "readonly">;
    /**
     * Represents the `disabled` property extracted from a field.
     *
     * @typedef DisabledValue
     */
    disabled?: PickProp<IField<Data, Payload>, "disabled">;
    leadingIconTabIndex?: PickProp<
      IField<Data, Payload>,
      "leadingIconTabIndex"
    >;
    trailingIconTabIndex?: PickProp<
      IField<Data, Payload>,
      "trailingIconTabIndex"
    >;
  }
  /**
   * Represents a private interface for a slider field component.
   *
   * @template Data - The type of data associated with the slider field.
   * @interface ISliderFieldPrivate
   */
  export interface ISliderFieldPrivate<Data = IAnything> {
    value: PickProp<IManaged<Data>, "value">;
    onChange: PickProp<IManaged<Data>, "onChange">;
  }
  /**
   * Represents a slider field component.
   * @typedef SliderField
   * @param value - The current value of the slider.
   * @param onChange - A callback function to handle slider value changes.
   * @param leadingIconRipple - Determines if the leading icon should have a ripple effect when clicked.
   * @param trailingIconRipple - Determines if the trailing icon should have a ripple effect when clicked.
   * @param leadingIcon - The icon component to be displayed at the start of the slider.
   * @param trailingIcon - The icon component to be displayed at the end of the slider.
   * @param leadingIconClick - A callback function to handle click events on the leading icon.
   * @param trailingIconClick - A callback function to handle click events on the trailing icon.
   * @param stepSlider - The step value for the slider.
   * @param maxSlider - The maximum value for the slider.
   * @param minSlider - The minimum value for the slider.
   * @param labelFormatSlider - The format string for the label text of the slider.
   * @returns A Slider component with the specified properties.
   */
  export const SliderField: {
    ({
      value,
      onChange,
      leadingIconRipple,
      trailingIconRipple,
      leadingIcon,
      trailingIcon,
      leadingIconClick,
      trailingIconClick,
      stepSlider,
      maxSlider,
      minSlider,
      labelFormatSlider,
      leadingIconTabIndex,
      trailingIconTabIndex,
    }: ISliderFieldProps & ISliderFieldPrivate): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      className,
      sx,
      columns,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      phoneHidden: upperPhoneHidden,
      tabletHidden: upperTabletHidden,
      desktopHidden: upperDesktopHidden,
      isDisabled: isDisabledUpper,
      isVisible: isVisibleUpper,
      isInvalid: isInvalidUpper,
      isIncorrect: isIncorrectUpper,
      isReadonly: isReadonlyUpper,
      readTransform,
      writeTransform,
      change,
      fallback,
      ready,
      compute: upperCompute,
      shouldRecompute,
      click,
      map,
      object: upperObject,
      name,
      title,
      menu,
      type,
      debug,
      focus,
      blur,
      invalidity,
      prefix,
      dirty: upperDirty,
      disabled: fieldDisabled,
      readonly: upperReadonly,
      autoFocus,
      style,
      menuItems,
      groupRef: ref,
      fieldRightMargin,
      fieldBottomMargin,
      outlinePaper,
      transparentPaper,
      testId,
      ...otherProps
    }: import("../../../model/IEntity").IEntity<Data, any>): JSX.Element | null;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/fields/SwitchField" {
  import IManaged, { PickProp } from "react-declarative-lite/model/IManaged";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IField from "react-declarative-lite/model/IField";
  /**
   * Represents the properties for a switch field component.
   *
   * @template Data - The type of data for the field.
   * @template Payload - The type of payload for the field.
   */
  export interface ISwitchFieldProps<Data = IAnything, Payload = IAnything> {
    /**
     * Retrieves the value of the 'title' property from an object of type IField<Data, Payload>.
     *
     * @template Data - The type of the data contained in the field.
     * @template Payload - The type of the payload associated with the field.
     *
     * @param field - An object of type IField<Data, Payload>.
     *
     * @returns - The value of the 'title' property from the given field.
     */
    title?: PickProp<IField<Data, Payload>, "title">;
    /**
     * Retrieves the 'groupRef' property from an object based on the given type.
     *
     * @template Data - The type of data in the object containing the 'groupRef' property.
     * @template Payload - The type representing the payload of the 'groupRef' property.
     * @template IField - The interface describing the object structure.
     *
     * @param groupRef - The object containing the 'groupRef' property to retrieve.
     *
     * @returns - The 'groupRef' property from the given object.
     */
    groupRef?: PickProp<IField<Data, Payload>, "groupRef">;
    /**
     * Represents the readonly property of an IField object.
     *
     * @typedef readonly?
     * @property [readonly] - Specifies whether the field is readonly or not.
     * @public
     */
    readonly?: PickProp<IField<Data, Payload>, "readonly">;
    /**
     * Represents the 'disabled' property of a field in a form.
     *
     * @template Data The data type associated with the form.
     * @template Payload The payload type associated with the form.
     * @typedef disabled
     */
    disabled?: PickProp<IField<Data, Payload>, "disabled">;
    /**
     * The switchNoColor property of the Field interface.
     *
     * @typedef switchNoColor
     */
    switchNoColor?: PickProp<IField<Data, Payload>, "switchNoColor">;
    /**
     * Gets the value of the switchActiveLabel property from the given field.
     *
     * @param field - The field object from which to get the switchActiveLabel property.
     * @returns - The value of the switchActiveLabel property.
     */
    switchActiveLabel?: PickProp<IField<Data, Payload>, "switchActiveLabel">;
  }
  /**
   * Represents a private interface for a switch field.
   *
   * @template Data - The type of data associated with the switch field.
   */
  export interface ISwitchFieldPrivate<Data = IAnything> {
    onChange: PickProp<IManaged<Data>, "onChange">;
    value: PickProp<IManaged<Data>, "value">;
  }
  /**
   * Renders a Switch field component.
   *
   * @param props - The properties for the Switch field.
   * @param props.disabled - Indicates whether the Switch field is disabled.
   * @param props.value - The current value of the Switch field.
   * @param props.readonly - Indicates whether the Switch field is read-only.
   * @param props.onChange - The event handler for when the Switch field is changed.
   * @param props.switchNoColor - Indicates whether the Switch field has no color.
   * @param props.switchActiveLabel - The label for the active state of the Switch field.
   * @param props.title - The title of the Switch field.
   *
   * @returns A Switch component wrapped in a SwitchField component.
   */
  export const SwitchField: {
    ({
      disabled,
      value,
      readonly,
      onChange,
      switchNoColor,
      switchActiveLabel,
      title,
    }: ISwitchFieldProps & ISwitchFieldPrivate): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      className,
      sx,
      columns,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      phoneHidden: upperPhoneHidden,
      tabletHidden: upperTabletHidden,
      desktopHidden: upperDesktopHidden,
      isDisabled: isDisabledUpper,
      isVisible: isVisibleUpper,
      isInvalid: isInvalidUpper,
      isIncorrect: isIncorrectUpper,
      isReadonly: isReadonlyUpper,
      readTransform,
      writeTransform,
      change,
      fallback,
      ready,
      compute: upperCompute,
      shouldRecompute,
      click,
      map,
      object: upperObject,
      name,
      title,
      menu,
      type,
      debug,
      focus,
      blur,
      invalidity,
      prefix,
      dirty: upperDirty,
      disabled: fieldDisabled,
      readonly: upperReadonly,
      autoFocus,
      style,
      menuItems,
      groupRef: ref,
      fieldRightMargin,
      fieldBottomMargin,
      outlinePaper,
      transparentPaper,
      testId,
      ...otherProps
    }: import("../../../model/IEntity").IEntity<Data, any>): JSX.Element | null;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/fields/TextField" {
  import IManaged, { PickProp } from "react-declarative-lite/model/IManaged";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IField from "react-declarative-lite/model/IField";
  /**
   * Represents the properties for a text field component.
   *
   * @template Data - The type of data associated with the field.
   * @template Payload - The type of payload associated with the field.
   */
  export interface ITextFieldProps<Data = IAnything, Payload = IAnything> {
    /**
     * Validation factory config
     *
     * @template IField - Type representing the field object.
     * @template Data - Type representing the data object.
     * @template Payload - Type representing the payload object.
     *
     * @returns The value of the "validation" property.
     */
    validation?: PickProp<IField<Data, Payload>, "validation">;
    /**
     * Represents the input type of a field.
     *
     * @template Data - The type of data being handled by the field.
     * @template Payload - The type of payload associated with the field.
     *
     * @typedef inputType
     *
     * @property name - The name of the input type.
     * @property options - Additional options for the input type.
     */
    inputType?: PickProp<IField<Data, Payload>, "inputType">;
    /**
     * The inputMode variable is an optional property that represents the input mode of a field in a form.
     *
     * @typedef inputMode
     *
     * @property [inputMode] - The input mode of the field.
     */
    inputMode?: PickProp<IField<Data, Payload>, "inputMode">;
    /**
     * Represents the input pattern for a field in a data payload.
     *
     * @typedef inputPattern
     * @property [inputPattern.pattern] - The regular expression pattern that the input value of the field should match.
     */
    inputPattern?: PickProp<IField<Data, Payload>, "inputPattern">;
    /**
     * Represents an optional input autocomplete feature for a field.
     *
     * @template Data - The type of data associated with the field.
     * @template Payload - The type of payload associated with the field.
     * @typedef InputAutocomplete
     * @property inputAutocomplete - Specifies whether the input should have autocomplete feature.
     */
    inputAutocomplete?: PickProp<IField<Data, Payload>, "inputAutocomplete">;
    /**
     * Represents the input formatter function for a specific field in the Data object.
     *
     * @template Data - The type of the data object.
     * @template Payload - The type of the payload object.
     * @param inputFormatter - The input formatter function for the field.
     */
    inputFormatter?: PickProp<IField<Data, Payload>, "inputFormatter">;
    /**
     * Specifies the input formatter symbol for a given field.
     *
     * @typedef inputFormatterSymbol
     */
    inputFormatterSymbol?: PickProp<
      IField<Data, Payload>,
      "inputFormatterSymbol"
    >;
    /**
     * Represents the allowed input formatters for a field.
     *
     * @typedef inputFormatterAllowed
     * @property allowedFormatters - An array of strings representing the allowed formatter names.
     */
    inputFormatterAllowed?: PickProp<
      IField<Data, Payload>,
      "inputFormatterAllowed"
    >;
    /**
     * Represents an input formatter template used in a field.
     *
     * @typedef InputFormatterTemplate
     */
    inputFormatterTemplate?: PickProp<
      IField<Data, Payload>,
      "inputFormatterTemplate"
    >;
    /**
     * Defines the input formatter replace configuration for a field.
     *
     * @typedef inputFormatterReplace
     * @property inputFormatterReplace.dataTransform - The function used to transform the input data before formatting.
     * @property inputFormatterReplace.payloadTransform - The function used to transform the payload before formatting.
     */
    inputFormatterReplace?: PickProp<
      IField<Data, Payload>,
      "inputFormatterReplace"
    >;
    /**
     * Returns the "description" property value of the given field object.
     *
     * @template IField - The type of the field object.
     * @template Data - The type of the data associated with the field.
     * @template Payload - The type of the payload object associated with the field.
     *
     * @param field - The field object from which to retrieve the "description" property.
     *
     * @returns The value of the "description" property.
     */
    description?: PickProp<IField<Data, Payload>, "description">;
    /**
     * Type definition to pick the `outlined` property from a given `IField` type.
     *
     * @template T - The type of the `IField` object.
     * @template K - The property to be picked from `IField`.
     */
    outlined?: PickProp<IField<Data, Payload>, "outlined">;
    /**
     * Type definition for the `title` property of an object.
     *
     * @template T - The type of the object from which to pick the property.
     * @template K - The literal type of the property name to pick.
     *
     * @typeparam T - The type of the object from which to pick the property.
     * @typeparam K - The literal type of the property name to pick.
     *
     * @param obj - The object from which to pick the property.
     *
     * @returns the value of the picked property.
     */
    title?: PickProp<IField<Data, Payload>, "title">;
    /**
     * Represents the configuration for the leading icon ripple effect.
     *
     * @typedef LeadingIconRipple
     * @property leadingIconRipple.enable - Indicates whether the leading icon ripple effect is enabled.
     * @property leadingIconRipple.duration - The duration of the leading icon ripple effect in milliseconds.
     */
    leadingIconRipple?: PickProp<IField<Data, Payload>, "leadingIconRipple">;
    /**
     * Represents the option to enable or disable the trailing icon ripple effect.
     * @property trailingIconRipple - Set to true to enable the trailing icon ripple effect,
     *     or false to disable it
     */
    trailingIconRipple?: PickProp<IField<Data, Payload>, "trailingIconRipple">;
    /**
     * The leadingIcon property represents the leading icon of a field.
     *
     * @typedef leadingIcon
     * @property [icon] - The icon to be displayed as the leading icon.
     * @property [isVisible] - Indicates if the leading icon is visible.
     */
    leadingIcon?: PickProp<IField<Data, Payload>, "leadingIcon">;
    /**
     * Represents the trailing icon configuration for a field.
     *
     * @typedef trailingIcon
     * @property icon - The path or class name of the trailing icon.
     * @property isVisible - Indicates whether the trailing icon is visible or hidden.
     * @property onClick - The event handler function to be executed when the trailing icon is clicked.
     */
    trailingIcon?: PickProp<IField<Data, Payload>, "trailingIcon">;
    /**
     * Represents the leading icon click event handler for a field in a form.
     *
     * @typedef leadingIconClick
     * @param leadingIconClick - The leadingIconClick prop of the field.
     * @returns - Nothing is returned from this function.
     */
    leadingIconClick?: PickProp<IField<Data, Payload>, "leadingIconClick">;
    /**
     * The `trailingIconClick` property is an optional property
     * that represents a callback function to be executed when
     * the trailing icon of a field is clicked.
     *
     * This property is of type `PickProp<IField<Data, Payload>, "trailingIconClick">`,
     * where `IField<Data, Payload>` is a generic type representing a field with
     * `Data` and `Payload` types.
     *
     * @typedef trailingIconClick
     *
     * @param args - The arguments passed to the callback function.
     * @returns
     */
    trailingIconClick?: PickProp<IField<Data, Payload>, "trailingIconClick">;
    /**
     * Represents the number of input rows required for a field.
     *
     * @typedef InputRows
     */
    inputRows?: PickProp<IField<Data, Payload>, "inputRows">;
    /**
     * A type definition representing the `placeholder` property of a given field.
     *
     * @template Data - The type of the field data.
     * @template Payload - The type of the payload for the field.
     * @template T - The type of the field.
     *
     * @typedef T
     */
    placeholder?: PickProp<IField<Data, Payload>, "placeholder">;
    /**
     * Gets the value of the "readonly" property from the provided object.
     *
     * @template T - The type of the object that contains the "readonly" property.
     * @template Prop - The type of the "readonly" property.
     * @param object - The object to get the "readonly" property from.
     * @returns - The value of the "readonly" property.
     */
    readonly?: PickProp<IField<Data, Payload>, "readonly">;
    /**
     * Specifies if the field should be automatically focused.
     *
     * @typedef autoFocus
     * @property [autoFocus] - Indicates if the field should receive focus automatically.
     * @property - The interface that describes the field containing the autoFocus property.
     *
     */
    autoFocus?: PickProp<IField<Data, Payload>, "autoFocus">;
    /**
     * Represents the `disabled` property of a field in a form.
     *
     * @typedef Disabled
     */
    disabled?: PickProp<IField<Data, Payload>, "disabled">;
    /**
     * Represents the reference to a group in a field.
     *
     * @typedef GroupRef
     * @property groupRef - The reference to the group.
     */
    groupRef?: PickProp<IField<Data, Payload>, "groupRef">;
    /**
     * Represents the input reference property of a field.
     *
     * @typedef InputRef
     * @property current - A reference to the input element.
     */
    inputRef?: PickProp<IField<Data, Payload>, "inputRef">;
    /**
     * Shrink option for labels.
     *
     * @typedef labelShrink
     * @property labelShrink - Whether to apply shrink option to labels.
     */
    labelShrink?: PickProp<IField<Data, Payload>, "labelShrink">;
    leadingIconTabIndex?: PickProp<
      IField<Data, Payload>,
      "leadingIconTabIndex"
    >;
    trailingIconTabIndex?: PickProp<
      IField<Data, Payload>,
      "trailingIconTabIndex"
    >;
  }
  /**
   * Represents a private interface for an input field.
   *
   * @template Data - The type of data managed by the input field.
   */
  export interface ITextFieldPrivate<Data = IAnything> {
    onChange: PickProp<IManaged<Data>, "onChange">;
    invalid: PickProp<IManaged<Data>, "invalid">;
    incorrect: PickProp<IManaged<Data>, "incorrect">;
    value: PickProp<IManaged<Data>, "value">;
    loading: PickProp<IManaged<Data>, "loading">;
    disabled: PickProp<IManaged<Data>, "disabled">;
    dirty: PickProp<IManaged<Data>, "dirty">;
    name: PickProp<IManaged<Data>, "name">;
  }
  /**
   * TextField component
   *
   * @typedef TextField
   * @param invalid - Indicates if the input value is invalid
   * @param incorrect - Indicates if the input value is incorrect
   * @param value - The current value of the input field
   * @param disabled - Indicates if the input field is disabled
   * @param readonly - Indicates if the input field is read-only
   * @param inputType - The type of input field (default: "text")
   * @param description - The description or helper text for the input field
   * @param outlined - Indicates if the input field is outlined
   * @param labelShrink - Indicates if the label should shrink when focused
   * @param title - The title or tooltip for the input field
   * @param leadingIconRipple - Indicates if clicking the leading icon should trigger a ripple effect
   * @param trailingIconRipple - Indicates if clicking the trailing icon should trigger a ripple effect
   * @param leadingIcon - The icon component to display at the start of the input field
   * @param trailingIcon - The icon component to display at the end of the input field
   * @param leadingIconClick - The function to call when the leading icon is clicked
   * @param trailingIconClick - The function to call when the trailing icon is clicked
   * @param inputRows - The number of rows for a textarea input field (default: 1)
   * @param placeholder - The placeholder text for the input field
   * @param inputAutocomplete - The autocomplete behavior for the input field (default: "off")
   * @param inputFormatter - A function used to format the input value
   * @param inputFormatterSymbol - The symbol or character used in the input formatter
   * @param inputFormatterAllowed - The list of allowed characters in the input formatter
   * @param inputFormatterTemplate - A template string used in the input formatter
   * @param dirty - Indicates if the input value has been modified
   * @param loading - Indicates if the input field is in a loading state
   * @param onChange - The function to call when the input value changes
   * @param autoFocus - Indicates if the input field should be automatically focused
   * @param inputRef - The reference to the input element
   * @param name - The name of the input field
   * @returns - The TextField component
   */
  export const TextField: {
    ({
      invalid,
      incorrect,
      value,
      disabled,
      readonly,
      inputType,
      description,
      outlined,
      labelShrink,
      title,
      leadingIconRipple,
      trailingIconRipple,
      leadingIcon,
      trailingIcon,
      leadingIconClick,
      trailingIconClick,
      inputRows,
      placeholder,
      inputAutocomplete,
      inputFormatter,
      inputFormatterSymbol,
      inputFormatterAllowed,
      inputFormatterTemplate,
      dirty,
      loading,
      onChange,
      autoFocus,
      inputRef,
      name,
      leadingIconTabIndex,
      trailingIconTabIndex,
    }: ITextFieldProps & ITextFieldPrivate): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      className,
      sx,
      columns,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      phoneHidden: upperPhoneHidden,
      tabletHidden: upperTabletHidden,
      desktopHidden: upperDesktopHidden,
      isDisabled: isDisabledUpper,
      isVisible: isVisibleUpper,
      isInvalid: isInvalidUpper,
      isIncorrect: isIncorrectUpper,
      isReadonly: isReadonlyUpper,
      readTransform,
      writeTransform,
      change,
      fallback,
      ready,
      compute: upperCompute,
      shouldRecompute,
      click,
      map,
      object: upperObject,
      name,
      title,
      menu,
      type,
      debug,
      focus,
      blur,
      invalidity,
      prefix,
      dirty: upperDirty,
      disabled: fieldDisabled,
      readonly: upperReadonly,
      autoFocus,
      style,
      menuItems,
      groupRef: ref,
      fieldRightMargin,
      fieldBottomMargin,
      outlinePaper,
      transparentPaper,
      testId,
      ...otherProps
    }: import("../../../model/IEntity").IEntity<Data, any>): JSX.Element | null;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/fields/DateField" {
  import IField from "react-declarative-lite/model/IField";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IManaged, { PickProp } from "react-declarative-lite/model/IManaged";
  /**
   * Represents the properties of a date field component.
   *
   * @template Data - The type of data associated with the field.
   * @template Payload - The type of payload associated with the field.
   */
  export interface IDateFieldProps<Data = IAnything, Payload = IAnything> {
    /**
     * Validation factory config
     *
     * @template IField - Type representing the field object.
     * @template Data - Type representing the data object.
     * @template Payload - Type representing the payload object.
     *
     * @returns The value of the "validation" property.
     */
    validation?: PickProp<IField<Data, Payload>, "validation">;
    /**
     * Retrieves the value of the "title" property from the given object.
     *
     * @template T - The type of the object.
     * @template K - The keys of the object.
     * @param obj - The object from which to retrieve the property value.
     * @param key - The key of the property to retrieve.
     * @returns - The value of the "title" property.
     */
    title?: PickProp<IField<Data, Payload>, "title">;
    /**
     * Retrieves the "description" property from a given object of type IField<Data, Payload>.
     * @param field - The input field object.
     * @returns - The value of the "description" property.
     */
    description?: PickProp<IField<Data, Payload>, "description">;
    /**
     * Picks the 'outlined' property from the IField<Data, Payload> object.
     *
     * @template Data - The type of data in the IField object.
     * @template Payload - The type of payload in the IField object.
     * @param field - The IField object to pick the 'outlined' property from.
     * @returns - The 'outlined' property value.
     */
    outlined?: PickProp<IField<Data, Payload>, "outlined">;
    /**
     * Represents the `placeholder` property of a field.
     *
     * @template Data - The type of the field's data.
     * @template Payload - The type of the field's payload.
     * @template Prop - The specific property of the field.
     *
     */
    placeholder?: PickProp<IField<Data, Payload>, "placeholder">;
    /**
     * Retrieves the value of the readonly property from a given field object.
     *
     * @template Data - The data type of the field.
     * @template Payload - The payload that may be associated with the field.
     * @param field - The field object from which to retrieve the readonly property.
     * @returns - The value of the readonly property, or undefined if the property is not present.
     */
    readonly?: PickProp<IField<Data, Payload>, "readonly">;
    /**
     * Shrink the label of a field.
     *
     * @typedef labelShrink
     * @property [labelShrink] - Specifies whether to shrink the label of the field.
     */
    labelShrink?: PickProp<IField<Data>, "labelShrink">;
    /**
     * Represents the autoFocus property of a field.
     *
     * @typedef autoFocus
     * @property [autoFocus] - If set to true, the field will automatically receive focus when rendered.
     */
    autoFocus?: PickProp<IField<Data, Payload>, "autoFocus">;
    /**
     * Represents the `disabled` property of a field.
     *
     * @typedef DisabledField
     */
    disabled?: PickProp<IField<Data, Payload>, "disabled">;
    /**
     * Represents an optional reference to the input element within a field.
     *
     * @typedef Data - The data type of the field.
     * @typedef Payload - The payload type of the field.
     * @typedef PickPropResult - The result type of the PickProp function.
     *
     * @property [inputRef] - The reference to the input element within a field.
     */
    inputRef?: PickProp<IField<Data, Payload>, "inputRef">;
  }
  /**
   * Represents a private interface for a date field.
   * @template Data - The type of data managed by the field.
   */
  export interface IDateFieldPrivate<Data = IAnything> {
    onChange: PickProp<IManaged<Data>, "onChange">;
    invalid: PickProp<IManaged<Data>, "invalid">;
    incorrect: PickProp<IManaged<Data>, "incorrect">;
    value: PickProp<IManaged<Data>, "value">;
    disabled: PickProp<IManaged<Data>, "disabled">;
    dirty: PickProp<IManaged<Data>, "dirty">;
    name: PickProp<IManaged<Data>, "name">;
    withContextMenu: PickProp<IManaged<Data>, "withContextMenu">;
  }
  /**
   * Represents a DateField component.
   *
   * @typedef DateField
   * @param invalid - Specifies whether the date field is invalid.
   * @param incorrect - Specifies whether the date field has an incorrect value.
   * @param value - The value of the date field.
   * @param disabled - Specifies whether the date field is disabled.
   * @param readonly - Specifies whether the date field is readonly.
   * @param description - The description of the date field.
   * @param outlined - Specifies whether the date field is outlined.
   * @param title - The title of the date field.
   * @param placeholder - The placeholder of the date field.
   * @param labelShrink - Specifies whether the label should shrink when the date field value is not empty.
   * @param dirty - Specifies whether the date field has been modified.
   * @param autoFocus - Specifies whether the date field should automatically receive focus.
   * @param inputRef - A ref for the date field input element.
   * @param onChange - The event handler for when the value of the date field changes.
   * @param withContextMenu - Specifies whether the date field should have a context menu.
   * @param name - The name of the date field.
   * @return - The Date component with the specified props.
   */
  export const DateField: {
    ({
      invalid,
      incorrect,
      value,
      disabled,
      readonly,
      description,
      outlined,
      title,
      placeholder,
      labelShrink,
      dirty,
      autoFocus,
      inputRef,
      onChange,
      withContextMenu,
      name,
    }: IDateFieldPrivate & IDateFieldProps): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      className,
      sx,
      columns,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      phoneHidden: upperPhoneHidden,
      tabletHidden: upperTabletHidden,
      desktopHidden: upperDesktopHidden,
      isDisabled: isDisabledUpper,
      isVisible: isVisibleUpper,
      isInvalid: isInvalidUpper,
      isIncorrect: isIncorrectUpper,
      isReadonly: isReadonlyUpper,
      readTransform,
      writeTransform,
      change,
      fallback,
      ready,
      compute: upperCompute,
      shouldRecompute,
      click,
      map,
      object: upperObject,
      name,
      title,
      menu,
      type,
      debug,
      focus,
      blur,
      invalidity,
      prefix,
      dirty: upperDirty,
      disabled: fieldDisabled,
      readonly: upperReadonly,
      autoFocus,
      style,
      menuItems,
      groupRef: ref,
      fieldRightMargin,
      fieldBottomMargin,
      outlinePaper,
      transparentPaper,
      testId,
      ...otherProps
    }: import("../../../model/IEntity").IEntity<Data, any>): JSX.Element | null;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/fields/TimeField" {
  import IField from "react-declarative-lite/model/IField";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IManaged, { PickProp } from "react-declarative-lite/model/IManaged";
  /**
   * A set of properties for the `TimeField` component.
   *
   * @template Data - The type of data expected to be stored in the field.
   * @template Payload - The type of payload expected to be returned on field change.
   */
  export interface ITimeFieldProps<Data = IAnything, Payload = IAnything> {
    /**
     * Validation factory config
     *
     * @template IField - Type representing the field object.
     * @template Data - Type representing the data object.
     * @template Payload - Type representing the payload object.
     *
     * @returns The value of the "validation" property.
     */
    validation?: PickProp<IField<Data, Payload>, "validation">;
    /**
     * Retrieves the value of the "title" property from the given object.
     *
     * @template T - The type of the object.
     * @template K - The key of the property to be picked.
     * @param obj - The object from which to pick the property.
     * @param key - The key of the property to pick.
     * @returns - The value of the picked property.
     */
    title?: PickProp<IField<Data, Payload>, "title">;
    /**
     * Returns the "description" property value of the given object.
     * The object must be of type IField<Data, Payload>.
     *
     * @param object - The object to pick the "description" property from.
     * @returns - The value of the "description" property.
     */
    description?: PickProp<IField<Data, Payload>, "description">;
    /**
     * Returns the value of the "outlined" property for the given field.
     *
     * @template Data - The type of data consumed by the field.
     * @template Payload - The type of payload.
     * @param field - The field to pick the "outlined" property from.
     * @returns The value of the "outlined" property.
     */
    outlined?: PickProp<IField<Data, Payload>, "outlined">;
    /**
     * Retrieves the `placeholder` property from an object `IField<Data, Payload>`.
     *
     * @template Data - The type of data for the field.
     * @template Payload - The type of payload.
     *
     * @param field - The field object from which to retrieve the `placeholder` property.
     *
     * @returns - The `placeholder` property of the field object.
     */
    placeholder?: PickProp<IField<Data, Payload>, "placeholder">;
    /**
     * Retrieves the value of the "readonly" property from a given object that has a specific structure.
     *
     * @param field - The input object with a specific structure.
     * @returns The value of the "readonly" property from the input object.
     */
    readonly?: PickProp<IField<Data, Payload>, "readonly">;
    /**
     * Represents the "autoFocus" property of a field.
     *
     * @typedef autoFocus
     * @property [autoFocus] - Whether the field should receive focus automatically.
     */
    autoFocus?: PickProp<IField<Data, Payload>, "autoFocus">;
    /**
     * Retrieves the "disabled" property from an object of type `IField<Data, Payload>`.
     *
     * @template Data - The type of data associated with the field.
     * @template Payload - The type of payload associated with the field.
     * @param disabled - The object from which to retrieve the "disabled" property.
     * @returns - The value of the "disabled" property.
     */
    disabled?: PickProp<IField<Data, Payload>, "disabled">;
    /**
     * Represents a reference to an input element.
     *
     * @typedef InputRef
     * @property [inputRef] - The inputRef property of an IField object.
     */
    inputRef?: PickProp<IField<Data, Payload>, "inputRef">;
    /**
     * Represents the shrink property of the label in a field.
     * @typedef labelShrink
     */
    labelShrink?: PickProp<IField<Data>, "labelShrink">;
  }
  /**
   * Represents a private interface for the TimeField component.
   *
   * @template Data The type of data associated with the TimeField component.
   */
  export interface ITimeFieldPrivate<Data = IAnything> {
    onChange: PickProp<IManaged<Data>, "onChange">;
    invalid: PickProp<IManaged<Data>, "invalid">;
    incorrect: PickProp<IManaged<Data>, "incorrect">;
    value: PickProp<IManaged<Data>, "value">;
    disabled: PickProp<IManaged<Data>, "disabled">;
    dirty: PickProp<IManaged<Data>, "dirty">;
    name: PickProp<IManaged<Data>, "name">;
    withContextMenu: PickProp<IManaged<Data>, "withContextMenu">;
  }
  /**
   * Represents a TimeField component.
   * @param TimeField - The TimeField component.
   * @param invalid - Determines if the field is invalid.
   * @param incorrect - Determines if the field has an incorrect value.
   * @param value - The current value of the field.
   * @param disabled - Determines if the field is disabled.
   * @param readonly - Determines if the field is readonly.
   * @param labelShrink - Determines if the label should shrink when the field has a value.
   * @param description - The description of the field.
   * @param outlined - Determines if the field should be outlined.
   * @param title - The title attribute of the field.
   * @param placeholder - The placeholder attribute of the field.
   * @param dirty - Determines if the field's value has changed.
   * @param autoFocus - Determines if the field should be focused automatically.
   * @param inputRef - The ref of the input element.
   * @param onChange - The event handler for the change event.
   * @param name - The name attribute of the field.
   * @param withContextMenu - Determines if the field should have a context menu.
   * @returns - The rendered TimeField component.
   */
  export const TimeField: {
    ({
      invalid,
      incorrect,
      value,
      disabled,
      readonly,
      labelShrink,
      description,
      outlined,
      title,
      placeholder,
      dirty,
      autoFocus,
      inputRef,
      onChange,
      name,
      withContextMenu,
    }: ITimeFieldPrivate & ITimeFieldProps): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      className,
      sx,
      columns,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      phoneHidden: upperPhoneHidden,
      tabletHidden: upperTabletHidden,
      desktopHidden: upperDesktopHidden,
      isDisabled: isDisabledUpper,
      isVisible: isVisibleUpper,
      isInvalid: isInvalidUpper,
      isIncorrect: isIncorrectUpper,
      isReadonly: isReadonlyUpper,
      readTransform,
      writeTransform,
      change,
      fallback,
      ready,
      compute: upperCompute,
      shouldRecompute,
      click,
      map,
      object: upperObject,
      name,
      title,
      menu,
      type,
      debug,
      focus,
      blur,
      invalidity,
      prefix,
      dirty: upperDirty,
      disabled: fieldDisabled,
      readonly: upperReadonly,
      autoFocus,
      style,
      menuItems,
      groupRef: ref,
      fieldRightMargin,
      fieldBottomMargin,
      outlinePaper,
      transparentPaper,
      testId,
      ...otherProps
    }: import("../../../model/IEntity").IEntity<Data, any>): JSX.Element | null;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/fields/CompleteField" {
  import IManaged, { PickProp } from "react-declarative-lite/model/IManaged";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IField from "react-declarative-lite/model/IField";
  /**
   * Interface for specifying the props of a complete field.
   * @template Data, Payload - The types of data and payload.
   */
  export interface ICompleteFieldProps<Data = IAnything, Payload = IAnything> {
    /**
     * Validation factory config
     *
     * @template IField - Type representing the field object.
     * @template Data - Type representing the data object.
     * @template Payload - Type representing the payload object.
     *
     * @returns The value of the "validation" property.
     */
    validation?: PickProp<IField<Data, Payload>, "validation">;
    /**
     * Represents the input type of a field.
     *
     * @template Data The type of data associated with the field.
     * @template Payload The type of payload associated with the field.
     * @typedef inputType
     *
     * @property inputType - The type of input for the field.
     */
    inputType?: PickProp<IField<Data, Payload>, "inputType">;
    /**
     * Represents the input mode of a field in the data object payload.
     *
     * @typedef inputMode
     * @property inputMode - The input mode of the field.
     */
    inputMode?: PickProp<IField<Data, Payload>, "inputMode">;
    /**
     * Represents the input pattern of a field.
     *
     * @typedef inputPattern
     * @property [inputPattern.prop1] - The first property of the input pattern.
     * @property [inputPattern.prop2] - The second property of the input pattern.
     *
     * @typedef IField
     * @typedef Data
     * @typedef Payload
     * @typedef PickProp
     */
    inputPattern?: PickProp<IField<Data, Payload>, "inputPattern">;
    /**
     * Represents the optional prop "inputAutocomplete" for a field.
     *
     * @typedef PickProp
     * @property _field - The field to pick the prop from.
     * @property _prop - The name of the prop to pick.
     *
     * @param inputAutocomplete - The value of the "inputAutocomplete" prop.
     *
     * @returns
     */
    inputAutocomplete?: PickProp<IField<Data, Payload>, "inputAutocomplete">;
    /**
     * Retrieves the "description" property from a given object and its nested properties if available.
     *
     * @template T - The type of the object to pick the "description" property from.
     * @template K - The keys of the properties in T.
     * @param obj - The object to pick the "description" property from.
     * @returns - The picked object with "description" property.
     */
    description?: PickProp<IField<Data, Payload>, "description">;
    /**
     * Reduces the size of the label for a given field.
     *
     * @param labelShrink - The label shrink configuration for a field.
     * @returns
     */
    labelShrink?: PickProp<IField<Data>, "labelShrink">;
    /**
     * Represents the value of the `keepRaw` property, which indicates whether to keep the raw data in a field.
     *
     * @template Data - The data type of the field.
     * @template Payload - The payload type of the field.
     *
     * @typedef KeepRaw
     * @property keepRaw - Indicates whether to keep the raw data.
     */
    keepRaw?: PickProp<IField<Data, Payload>, "keepRaw">;
    /**
     * Returns the value of the `outlined` property from the provided object.
     *
     * @template T - The type of the object.
     * @template K - The keyof `T` representing the property to pick.
     *
     * @param obj - The object from which to pick the property.
     * @param field - The key representing the property to pick.
     *
     * @returns - The value of the picked property.
     */
    outlined?: PickProp<IField<Data, Payload>, "outlined">;
    /**
     * Type definition for the "title" property picked from the "IField" object type,
     * where "IField" is a generic object with properties "Data" and "Payload".
     * The resulting type is determined by the "PickProp" utility, which selects the specific property
     * from the provided object type.
     *
     * @template IField - The generic object type with properties "Data" and "Payload".
     * @template Data - The data type of the "IField" object.
     * @template Payload - The payload type of the "IField" object.
     * @template Key - The specific property key to pick from the "IField" object.
     * @typedef PickProp
     * @property object - The object from which the property is picked.
     * @property prop - The specific property key to pick.
     * @returns The type of the picked property.
     */
    title?: PickProp<IField<Data, Payload>, "title">;
    /**
     * Represents the "tip" property of an object.
     *
     * @template T - The type of the object.
     * @template K - The key of the property to pick.
     * @typedef PickProp
     */
    tip?: PickProp<IField<Data, Payload>, "tip">;
    /**
     * Represents a variable that holds the value of the "tipSelect" property.
     *
     * @typedef TipSelect
     * @property IField - Represents a generic field object.
     * @property Data - Represents the generic data type.
     * @property Payload - Represents the generic payload type.
     * @property tipSelect - The value of the "tipSelect" property.
     */
    tipSelect?: PickProp<IField<Data, Payload>, "tipSelect">;
    /**
     * Retrieves the `placeholder` property of a given field.
     *
     * @template Data - The type of data associated with the field.
     * @template Payload - The type of payload associated with the field.
     * @template Field - The type of field.
     *
     * @typedef PickProp - A utility type for picking properties from a type.
     * @param field - The field to pick the `placeholder` property from.
     *
     * @returns - The `placeholder` property of the given field, if present. Otherwise, `undefined`.
     */
    placeholder?: PickProp<IField<Data, Payload>, "placeholder">;
    /**
     * Retrieves the "readonly" property from the provided field object.
     *
     * @param field - The field object.
     * @returns - The value of the "readonly" property.
     */
    readonly?: PickProp<IField<Data, Payload>, "readonly">;
    /**
     * Specifies whether the field should be automatically focused.
     *
     * @typedef autoFocus
     */
    autoFocus?: PickProp<IField<Data, Payload>, "autoFocus">;
    /**
     * Represents the "disabled" property of a field.
     *
     * @template Data - The type of data associated with the field.
     * @template Payload - The type of payload for the field's actions.
     *
     * @typedef DisabledProp
     *
     * @property disabled - Specifies whether the field is disabled.
     */
    disabled?: PickProp<IField<Data, Payload>, "disabled">;
    /**
     * Represents a reference to a group within a field.
     *
     * @typedef GroupRef
     * @property groupRef - The identifier of the group.
     */
    groupRef?: PickProp<IField<Data, Payload>, "groupRef">;
    /**
     * Represents the input reference of a field.
     *
     * @typedef InputRef
     * @property inputRef - The reference to the input element.
     *
     */
    inputRef?: PickProp<IField<Data, Payload>, "inputRef">;
    /**
     * Represents the input formatter property of a field within a specific data type.
     *
     * @template Data - The data type containing the field.
     * @template Payload - The payload type containing the data.
     */
    inputFormatter?: PickProp<IField<Data, Payload>, "inputFormatter">;
    /**
     * Represents the input formatter symbol for a specific field.
     */
    inputFormatterSymbol?: PickProp<
      IField<Data, Payload>,
      "inputFormatterSymbol"
    >;
    /**
     * Determines whether input formatting is allowed for a given field.
     *
     * @typedef inputFormatterAllowed
     * @property inputFormatterAllowed - Specifies if input formatting is allowed.
     */
    inputFormatterAllowed?: PickProp<
      IField<Data, Payload>,
      "inputFormatterAllowed"
    >;
    /**
     * Represents a template for formatting input data.
     *
     */
    inputFormatterTemplate?: PickProp<
      IField<Data, Payload>,
      "inputFormatterTemplate"
    >;
    /**
     * Replaces the input formatter of a field with a new one.
     *
     * @template Data The data type of the field.
     * @template Payload The payload type of the field.
     *
     * @param inputFormatterReplace The object containing the "inputFormatterReplace" property.
     *
     */
    inputFormatterReplace?: PickProp<
      IField<Data, Payload>,
      "inputFormatterReplace"
    >;
  }
  /**
   * Represents a private interface for a complete field.
   *
   * @template Data - The type of the field's data.
   */
  export interface ICompleteFieldPrivate<Data = IAnything> {
    onChange: PickProp<IManaged<Data>, "onChange">;
    invalid: PickProp<IManaged<Data>, "invalid">;
    incorrect: PickProp<IManaged<Data>, "incorrect">;
    value: PickProp<IManaged<Data>, "value">;
    loading: PickProp<IManaged<Data>, "loading">;
    disabled: PickProp<IManaged<Data>, "disabled">;
    readonly: PickProp<IManaged<Data>, "readonly">;
    fieldReadonly: PickProp<IManaged<Data>, "fieldReadonly">;
    dirty: PickProp<IManaged<Data>, "dirty">;
    name: PickProp<IManaged<Data>, "name">;
    withContextMenu: PickProp<IManaged<Data>, "withContextMenu">;
  }
  /**
   * A wrapper component for the Complete component.
   *
   * @param props - The props for the CompleteField component.
   * @param props.invalid - Determines whether the field is in an invalid state.
   * @param props.incorrect - Determines whether the field has incorrect data.
   * @param props.value - The current value of the field.
   * @param props.disabled - Determines whether the field is disabled.
   * @param props.readonly - Determines whether the field is read-only.
   * @param props.inputType - The type of the input field.
   * @param props.description - The description of the field.
   * @param props.outlined - Determines whether the field is outlined.
   * @param props.keepRaw - Determines whether the raw value should be kept.
   * @param props.title - The title of the field.
   * @param props.labelShrink - The label shrink value.
   * @param props.tip - The tip for the field.
   * @param props.tipSelect - The tip for the select field.
   * @param props.placeholder - The placeholder text for the input field.
   * @param props.inputAutocomplete - The autocomplete attribute for the input field.
   * @param props.dirty - The dirty value of the field.
   * @param props.loading - Determines whether the field is in a loading state.
   * @param props.onChange - The callback function for the field value change event.
   * @param props.autoFocus - Determines whether the field should be auto-focused.
   * @param props.inputRef - The reference to the input field.
   * @param props.name - The name of the field.
   * @param props.inputFormatter - The input formatter for the field.
   * @param props.inputFormatterAllowed - The allowed values for the input formatter.
   * @param props.inputFormatterReplace - The values to replace in the input formatter.
   * @param props.inputFormatterSymbol - The symbol for the input formatter.
   * @param props.inputFormatterTemplate - The template for the input formatter.
   * @param props.withContextMenu - Determines whether the field should have a context menu.
   * @returns The rendered CompleteField component.
   */
  export const CompleteField: {
    ({
      invalid,
      incorrect,
      value,
      disabled,
      readonly,
      inputType,
      description,
      outlined,
      keepRaw,
      title,
      labelShrink,
      tip,
      tipSelect,
      placeholder,
      inputAutocomplete,
      dirty,
      loading,
      onChange,
      autoFocus,
      inputRef,
      name,
      inputFormatter,
      inputFormatterAllowed,
      inputFormatterReplace,
      inputFormatterSymbol,
      inputFormatterTemplate,
      fieldReadonly,
      withContextMenu,
    }: ICompleteFieldProps & ICompleteFieldPrivate): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      className,
      sx,
      columns,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      phoneHidden: upperPhoneHidden,
      tabletHidden: upperTabletHidden,
      desktopHidden: upperDesktopHidden,
      isDisabled: isDisabledUpper,
      isVisible: isVisibleUpper,
      isInvalid: isInvalidUpper,
      isIncorrect: isIncorrectUpper,
      isReadonly: isReadonlyUpper,
      readTransform,
      writeTransform,
      change,
      fallback,
      ready,
      compute: upperCompute,
      shouldRecompute,
      click,
      map,
      object: upperObject,
      name,
      title,
      menu,
      type,
      debug,
      focus,
      blur,
      invalidity,
      prefix,
      dirty: upperDirty,
      disabled: fieldDisabled,
      readonly: upperReadonly,
      autoFocus,
      style,
      menuItems,
      groupRef: ref,
      fieldRightMargin,
      fieldBottomMargin,
      outlinePaper,
      transparentPaper,
      testId,
      ...otherProps
    }: import("../../../model/IEntity").IEntity<Data, any>): JSX.Element | null;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/fields/TypographyField" {
  import IManaged, { PickProp } from "react-declarative-lite/model/IManaged";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IField from "react-declarative-lite/model/IField";
  /**
   * Interface for props of the TypographyField component.
   *
   * @template Data - The data type of the field.
   * @template Payload - The payload type of the field.
   */
  export interface ITypographyFieldProps<
    Data = IAnything,
    Payload = IAnything,
  > {
    /**
     * Retrieves the `placeholder` property from the given `IField` object.
     * The `placeholder` property is a key of type `PickProp`.
     *
     * @param field - The input field object.
     * @returns - The `placeholder` property of the field object.
     */
    placeholder?: PickProp<IField<Data, Payload>, "placeholder">;
    /**
     * Represents the `typoVariant` property of an object.
     * @typedef TypoVariant
     * @property - The object from which the `typoVariant` property is picked.
     * @property - The name of the property being picked.
     * @property - The value of the `typoVariant` property.
     */
    typoVariant?: PickProp<IField<Data, Payload>, "typoVariant">;
    /**
     * Gets the value of the className property from the provided object.
     *
     * This function uses the PickProp type from the IField interface to pick the 'className' property
     * from the provided object based on the Data and Payload generic types.
     *
     * @template Data - The type of the data in the IField interface.
     * @template Payload - The type of the payload in the IField interface.
     * @param obj - The object from which to get the className property.
     * @returns The value of the className property, or undefined if it doesn't exist.
     */
    className?: PickProp<IField<Data, Payload>, "className">;
    /**
     * Retrieves the 'style' property of the given variable, using the 'PickProp' utility type.
     *
     * @template Data - The type of the field's data.
     * @template Payload - The type of the field's payload.
     * @template T - The type of the variable to pick property from.
     */
    style?: PickProp<IField<Data, Payload>, "style">;
    /**
     * Represents a reference to a group in a field.
     * This reference is optional.
     *
     * @typedef groupRef
     */
    groupRef?: PickProp<IField<Data, Payload>, "groupRef">;
  }
  /**
   * Represents a private interface for a typography field.
   *
   * @template Data - The type of data the field holds.
   */
  export interface ITypographyFieldPrivate<Data = IAnything> {
    value: PickProp<IManaged<Data>, "value">;
  }
  /**
   * Renders a typography field component.
   *
   * @param props - The props for the typography field.
   * @param [props.value=''] - The value of the typography field.
   * @param [props.placeholder=''] - The placeholder text for the typography field.
   * @param [props.typoVariant='body1'] - The typography variant for the field.
   * @param [props.style] - Additional styles to be applied to the field.
   * @returns - The rendered typography field component.
   */
  export const TypographyField: {
    ({
      value,
      placeholder,
      typoVariant,
      style,
    }: ITypographyFieldProps & ITypographyFieldPrivate): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      className,
      sx,
      columns,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      phoneHidden: upperPhoneHidden,
      tabletHidden: upperTabletHidden,
      desktopHidden: upperDesktopHidden,
      isDisabled: isDisabledUpper,
      isVisible: isVisibleUpper,
      isInvalid: isInvalidUpper,
      isIncorrect: isIncorrectUpper,
      isReadonly: isReadonlyUpper,
      readTransform,
      writeTransform,
      change,
      fallback,
      ready,
      compute: upperCompute,
      shouldRecompute,
      click,
      map,
      object: upperObject,
      name,
      title,
      menu,
      type,
      debug,
      focus,
      blur,
      invalidity,
      prefix,
      dirty: upperDirty,
      disabled: fieldDisabled,
      readonly: upperReadonly,
      autoFocus,
      style,
      menuItems,
      groupRef: ref,
      fieldRightMargin,
      fieldBottomMargin,
      outlinePaper,
      transparentPaper,
      testId,
      ...otherProps
    }: import("../../../model/IEntity").IEntity<Data, any>): JSX.Element | null;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/fields/ChooseField" {
  import IManaged, { PickProp } from "react-declarative-lite/model/IManaged";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IField from "react-declarative-lite/model/IField";
  /**
   * Props for the IChooseField component.
   *
   * @template Data - The data type of the field.
   * @template Payload - The payload type of the field.
   */
  export interface IChooseFieldProps<Data = IAnything, Payload = IAnything> {
    /**
     * Validation factory config
     *
     * @template IField - Type representing the field object.
     * @template Data - Type representing the data object.
     * @template Payload - Type representing the payload object.
     *
     * @returns The value of the "validation" property.
     */
    validation?: PickProp<IField<Data, Payload>, "validation">;
    /**
     * Retrieves the "description" property from the given object.
     *
     * @template IField - Type representing the field object.
     * @template Data - Type representing the data object.
     * @template Payload - Type representing the payload object.
     *
     * @param obj - The object from which to pick the "description" property.
     *
     * @returns The value of the "description" property.
     */
    description?: PickProp<IField<Data, Payload>, "description">;
    /**
     * Type definition for the `PickProp` function.
     *
     * @template T - The type of the object to pick properties from.
     * @template K - The keys to pick from the object.
     */
    outlined?: PickProp<IField<Data, Payload>, "outlined">;
    /**
     * Type definition for the `title` property when using `PickProp` utility.
     * @template T - The type of the object from which to pick the property.
     * @template Prop - The name of the property to pick.
     * @param obj - The object from which to pick the property.
     * @param prop - The name of the property to pick.
     * @returns - The picked property value.
     */
    title?: PickProp<IField<Data, Payload>, "title">;
    /**
     * Type definition for a generic placeholder value.
     * @typedef Placeholder
     */
    placeholder?: PickProp<IField<Data, Payload>, "placeholder">;
    /**
     * Represents the configuration for label shrinking in a field.
     *
     * @typedef LabelShrink
     */
    labelShrink?: PickProp<IField<Data>, "labelShrink">;
    /**
     * A variable that represents the `readonly` property of a field.
     *
     * @typedef readonly? - The `readonly` property of a field.
     */
    readonly?: PickProp<IField<Data, Payload>, "readonly">;
    /**
     * Type definition for the "disabled" property of a field.
     *
     * This type is used to define the "disabled" property of a field from an object type "Data"
     * and a type "Payload" using the PickProp utility type.
     *
     * @template Data - The type representing the object structure.
     * @template Payload - The type representing the additional properties of the field.
     * @typedef disabled
     */
    disabled?: PickProp<IField<Data, Payload>, "disabled">;
    /**
     * A reference to the group that the field belongs to.
     *
     * @typedef groupRef
     *
     * @property id - The unique identifier of the group.
     * @property name - The name of the group.
     * @property description - The description of the group.
     */
    groupRef?: PickProp<IField<Data, Payload>, "groupRef">;
    /**
     * This variable represents the `inputRef` property of type `PickProp<IField<Data, Payload>, 'inputRef'>`.
     * It is an optional property, which means it may be undefined.
     *
     * @typedef InputRef
     */
    inputRef?: PickProp<IField<Data, Payload>, "inputRef">;
    /**
     * Type definition for the 'choose' property of IField.
     *
     * @template Data - The data type of the field.
     * @template Payload - The data payload for the field.
     */
    choose?: PickProp<IField<Data, Payload>, "choose">;
    /**
     * Represents a possible translation for a field in a form.
     *
     * @typedef tr
     * @property type - The type of translation.
     * @property required - Indicates if the translation is required.
     * @property options - The list of available translation options.
     * @property defaultValue - The default translation value.
     */
    tr?: PickProp<IField<Data, Payload>, "tr">;
  }
  /**
   * Represents an interface for choosing private fields.
   *
   * @template Data - The type of data for the private fields.
   */
  export interface IChooseFieldPrivate<Data = IAnything> {
    onChange: PickProp<IManaged<Data>, "onChange">;
    invalid: PickProp<IManaged<Data>, "invalid">;
    incorrect: PickProp<IManaged<Data>, "incorrect">;
    value: PickProp<IManaged<Data>, "value">;
    loading: PickProp<IManaged<Data>, "loading">;
    disabled: PickProp<IManaged<Data>, "disabled">;
    dirty: PickProp<IManaged<Data>, "dirty">;
    name: PickProp<IManaged<Data>, "name">;
    withContextMenu: PickProp<IManaged<Data>, "withContextMenu">;
  }
  /**
   * Represents the ChooseField component.
   * @param options - The options for the ChooseField component.
   * @returns The rendered ChooseField component.
   */
  export const ChooseField: {
    ({
      invalid,
      value,
      disabled,
      readonly,
      incorrect,
      description,
      outlined,
      title,
      placeholder,
      labelShrink,
      choose,
      tr,
      dirty,
      loading,
      onChange,
      inputRef,
      name,
      withContextMenu,
    }: IChooseFieldProps & IChooseFieldPrivate): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      className,
      sx,
      columns,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      phoneHidden: upperPhoneHidden,
      tabletHidden: upperTabletHidden,
      desktopHidden: upperDesktopHidden,
      isDisabled: isDisabledUpper,
      isVisible: isVisibleUpper,
      isInvalid: isInvalidUpper,
      isIncorrect: isIncorrectUpper,
      isReadonly: isReadonlyUpper,
      readTransform,
      writeTransform,
      change,
      fallback,
      ready,
      compute: upperCompute,
      shouldRecompute,
      click,
      map,
      object: upperObject,
      name,
      title,
      menu,
      type,
      debug,
      focus,
      blur,
      invalidity,
      prefix,
      dirty: upperDirty,
      disabled: fieldDisabled,
      readonly: upperReadonly,
      autoFocus,
      style,
      menuItems,
      groupRef: ref,
      fieldRightMargin,
      fieldBottomMargin,
      outlinePaper,
      transparentPaper,
      testId,
      ...otherProps
    }: import("../../../model/IEntity").IEntity<Data, any>): JSX.Element | null;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/fields/YesNoField" {
  import IManaged, { PickProp } from "react-declarative-lite/model/IManaged";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IField from "react-declarative-lite/model/IField";
  /**
   * Interface representing the props for the YesNoField component.
   *
   * @template Data - The type of the data.
   * @template Payload - The type of the payload.
   */
  export interface IYesNoFieldProps<Data = IAnything, Payload = IAnything> {
    /**
     * Validation factory config
     *
     * @template IField - Type representing the field object.
     * @template Data - Type representing the data object.
     * @template Payload - Type representing the payload object.
     *
     * @returns The value of the "validation" property.
     */
    validation?: PickProp<IField<Data, Payload>, "validation">;
    /**
     * Picks the "description" property from a given object of type IField<Data, Payload>.
     *
     * @template Data - The type of the data associated with the field.
     * @template Payload - The type of the payload associated with the field.
     * @param field - The field object from which to pick the "description" property.
     * @returns - The picked "description" property.
     */
    description?: PickProp<IField<Data, Payload>, "description">;
    /**
     * Retrieves the "placeholder" property of the provided PickProp type, which is a property value of type string.
     *
     * @template Data - The type of data associated with the field.
     * @template Payload - The type of payload associated with the field.
     * @template T - The type of the input object from which to pick the property.
     * @template K - The type of the property to be picked.
     * @param obj - The input object from which to pick the property.
     * @param prop - The property to be picked from the input object.
     * @returns The value of the "placeholder" property of the provided PickProp type.
     */
    placeholder?: PickProp<IField<Data, Payload>, "placeholder">;
    /**
     * Type declaration for the `outlined` property of the `PickProp` utility.
     * This utility allows you to pick a specific property from a given type and create a new type with only that property.
     *
     * @template T - The original type from which we want to pick a property.
     * @template K - A string literal representing the property we want to pick from the original type.
     *
     */
    outlined?: PickProp<IField<Data, Payload>, "outlined">;
    /**
     * Represents an optional property "noDeselect" of a PickProp object.
     *
     * @template T - The type of the field.
     * @template K - The key of the property to be picked.
     * @template P - The type of the value of the picked property.
     *
     * @typedef PickPropWithType
     * @prop {P} noDeselect - The value of the "noDeselect" property.
     *
     * @typedef IField
     * @typedef Payload
     *
     * @typedef PickProp
     *
     * @typedef noDeselect
     */
    noDeselect?: PickProp<IField<Data, Payload>, "noDeselect">;
    /**
     * Represents the configuration options for a virtual list box component.
     *
     * @typedef virtualListBox
     * @property fieldName - The name of the field associated with the virtual list box.
     * @property pageSize - The number of items to display per page in the virtual list box.
     * @property showSearch - Determines whether to display a search input in the virtual list box.
     * @property multiSelect - Determines whether the virtual list box allows multiple selection.
     * @property selectedItems - The array of selected item values in the virtual list box.
     */
    virtualListBox?: PickProp<IField<Data, Payload>, "virtualListBox">;
    /**
     * Represents the "tr" property of an object.
     *
     * @typeparam IField - Represents the object type containing the "tr" property.
     * @typedef tr
     */
    tr?: PickProp<IField<Data, Payload>, "tr">;
    /**
     * Represents the 'readonly' property of an object, extracted using the 'PickProp' utility type.
     *
     * @template Data - The type of data contained in the 'IField' object.
     * @template Payload - The type of payload contained in the 'IField' object.
     *
     * @param readonly - The value of the 'readonly' property.
     *
     * @returns - This function does not return a value.
     */
    readonly?: PickProp<IField<Data, Payload>, "readonly">;
    /**
     * Represents the `disabled` property of a field object.
     *
     * @typedef disabled
     *
     * @template Data - The type of data associated with the field.
     * @template Payload - The type of payload associated with the field.
     *
     * @property disabled - A boolean value indicating whether the field is disabled or not.
     *                                `true` represents that the field is disabled, while `false` indicates it is enabled.
     */
    disabled?: PickProp<IField<Data, Payload>, "disabled">;
    /**
     * Represents the optional property to shrink the label of a field.
     *
     * @typedef LabelShrink
     */
    labelShrink?: PickProp<IField<Data>, "labelShrink">;
    /**
     * Returns the value of the "title" property from an object of type IField<Data, Payload>.
     *
     * @template Data - The type of the data object.
     * @template Payload - The type of the payload object.
     * @template T - The type of the object containing the "title" property.
     *
     * @param object - The object from which to pick the "title" property.
     *
     * @returns - The value of the "title" property.
     */
    title?: PickProp<IField<Data, Payload>, "title">;
    /**
     * Represents the `groupRef` property of an object.
     *
     * @typedef GroupRef
     * @property groupRef - The reference to a group of fields.
     */
    groupRef?: PickProp<IField<Data, Payload>, "groupRef">;
  }
  /**
   * Represents a private interface for a Yes/No field
   * @template Data - The data type associated with the field
   */
  export interface IYesNoFieldPrivate<Data = IAnything> {
    value: PickProp<IManaged<Data>, "value">;
    readonly: PickProp<IManaged<Data>, "readonly">;
    onChange: PickProp<IManaged<Data>, "onChange">;
    dirty: PickProp<IManaged<Data>, "dirty">;
    invalid: PickProp<IManaged<Data>, "invalid">;
    incorrect: PickProp<IManaged<Data>, "incorrect">;
  }
  /**
   * Represents a Yes/No field component.
   *
   * @param props - The properties of the Yes/No field component.
   * @param props.value - The current value of the field.
   * @param props.disabled - Determines if the field is disabled.
   * @param props.readonly - Determines if the field is read-only.
   * @param props.description - The description or tooltip text for the field.
   * @param props.placeholder - The text to display when the field is empty.
   * @param props.outlined - Determines if the field is outlined.
   * @param props.virtualListBox - Determines if the field uses a virtual list box.
   * @param props.noDeselect - Determines if the field allows deselecting the value.
   * @param props.labelShrink - Determines if the label should shrink when the field has a value.
   * @param props.title - The title attribute of the field.
   * @param props.tr - The translate map function
   * @param props.dirty - Determines if the field has been modified.
   * @param props.invalid - Determines if the field is in an invalid state.
   * @param props.incorrect - Determines if the field has an incorrect value.
   * @param props.onChange - The function to call when the field's value changes.
   *
   * @returns - The Yes/No field component.
   */
  export const YesNoField: {
    ({
      value,
      disabled,
      readonly,
      description,
      placeholder,
      outlined,
      virtualListBox,
      noDeselect,
      labelShrink,
      title,
      tr,
      dirty,
      invalid,
      incorrect,
      onChange,
    }: IYesNoFieldProps & IYesNoFieldPrivate): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      className,
      sx,
      columns,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      phoneHidden: upperPhoneHidden,
      tabletHidden: upperTabletHidden,
      desktopHidden: upperDesktopHidden,
      isDisabled: isDisabledUpper,
      isVisible: isVisibleUpper,
      isInvalid: isInvalidUpper,
      isIncorrect: isIncorrectUpper,
      isReadonly: isReadonlyUpper,
      readTransform,
      writeTransform,
      change,
      fallback,
      ready,
      compute: upperCompute,
      shouldRecompute,
      click,
      map,
      object: upperObject,
      name,
      title,
      menu,
      type,
      debug,
      focus,
      blur,
      invalidity,
      prefix,
      dirty: upperDirty,
      disabled: fieldDisabled,
      readonly: upperReadonly,
      autoFocus,
      style,
      menuItems,
      groupRef: ref,
      fieldRightMargin,
      fieldBottomMargin,
      outlinePaper,
      transparentPaper,
      testId,
      ...otherProps
    }: import("../../../model/IEntity").IEntity<Data, any>): JSX.Element | null;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/fields/InitField" {
  import * as React from "react";
  /**
   * Interface representing the initialization properties for a Field component.
   *
   * @interface IInitFieldProps
   */
  export interface IInitFieldProps {}
  /**
   * Represents a React functional component which initializes a property on a target object.
   * Does not render itself in real
   * @component
   */
  export const InitField: React.FC<IInitFieldProps>;
  export default InitField;
}

declare module "react-declarative-lite/components/One/fields/DictField" {
  import IManaged, { PickProp } from "react-declarative-lite/model/IManaged";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IField from "react-declarative-lite/model/IField";
  /**
   * Props for the IDictField component.
   *
   * @template Data - The data type of the field.
   * @template Payload - The payload type of the field.
   *
   * @property [dictLimit] - The limit of items shown in the dictionary.
   * @property [dictDelay] - The delay between input and dictionary search.
   * @property [dictSearch] - The search function for the dictionary.
   * @property [dictOnAppend] - The function called when an item is appended to the dictionary.
   * @property [dictOnText] - The function called when the text of a dictionary item is updated.
   * @property [dictOnItem] - The function called when a dictionary item is selected.
   * @property [dictValue] - The selected value from the dictionary.
   * @property [dictSearchText] - The text being searched in the dictionary.
   * @property [dictSearchItem] - The item being searched in the dictionary.
   * @property [dictCreateButton] - The button to create a new item in the dictionary.
   * @property [inputType] - The type of input element.
   * @property [inputMode] - The input mode.
   * @property [inputPattern] - The regex pattern for input validation.
   * @property [inputAutocomplete] - The autocomplete option for the input.
   * @property [inputFormatter] - The function to format the input value.
   * @property [inputFormatterSymbol] - The symbol used for formatting.
   * @property [inputFormatterAllowed] - The allowed characters for formatting.
   * @property [inputFormatterTemplate] - The template for formatting.
   * @property [inputFormatterReplace] - The replace option for formatting.
   * @property [description] - The description of the field.
   * @property [outlined] - Whether the field should be outlined.
   * @property [title] - The title of the field.
   * @property [placeholder] - The placeholder text for the input.
   * @property [readonly] - Whether the field should be read-only.
   * @property [disabled] - Whether the field should be disabled.
   * @property [groupRef] - The ref for the group element.
   * @property [inputRef] - The ref for the input element.
   * @property [leadingIconRipple] - Whether the leading icon should have ripple effect.
   * @property [trailingIconRipple] - Whether the trailing icon should have ripple effect.
   * @property [leadingIcon] - The icon element for the leading icon.
   * @property [trailingIcon] - The icon element for the trailing icon.
   * @property [leadingIconClick] - The function to call when the leading icon is clicked.
   * @property [trailingIconClick] - The function to call when the trailing icon is clicked.
   */
  export interface IDictFieldProps<Data = IAnything, Payload = IAnything> {
    /**
     * Validation factory config
     *
     * @template IField - Type representing the field object.
     * @template Data - Type representing the data object.
     * @template Payload - Type representing the payload object.
     *
     * @returns The value of the "validation" property.
     */
    validation?: PickProp<IField<Data, Payload>, "validation">;
    /**
     * Represents the 'dictLimit' property of an object.
     *
     * @typedef dictLimit
     * @property [dictLimit] - The limit for the dictionary.
     * @returns - The limit for the dictionary.
     */
    dictLimit?: PickProp<IField<Data, Payload>, "dictLimit">;
    /**
     * Retrieves the optional "dictDelay" property from the provided object.
     *
     * @template Data - The data type of the object.
     * @template Payload - The payload type of the object.
     *
     * @param object - The object containing the "dictDelay" property.
     *
     * @returns The value of the "dictDelay" property, if it exists, or undefined if it does not.
     */
    dictDelay?: PickProp<IField<Data, Payload>, "dictDelay">;
    /**
     * @typedef IField
     * @typedef Payload
     * @typedef Data
     * @typedef PickProp
     *
     * @typedef dictSearch
     */
    dictSearch?: PickProp<IField<Data, Payload>, "dictSearch">;
    /**
     * Represents an optional configuration property for a dictionary append operation.
     */
    dictOnAppend?: PickProp<IField<Data, Payload>, "dictOnAppend">;
    /**
     * Represents a variable `dictOnText` which is optional and can be of type `PickProp<IField<Data, Payload>, "dictOnText">`.
     *
     * @typedef dictOnText
     */
    dictOnText?: PickProp<IField<Data, Payload>, "dictOnText">;
    /**
     * Represents the field configuration for `dictOnItem` property.
     *
     * @template Data - The type of data object for the field.
     * @template Payload - The type of payload for the field.
     * @typedef dictOnItem?
     * @property dictOnItem - Indicates whether the field uses dictionary on item.
     */
    dictOnItem?: PickProp<IField<Data, Payload>, "dictOnItem">;
    /**
     * Retrieves the "dictValue" property from the given object.
     *
     * @param obj - The object from which to retrieve the "dictValue" property.
     *
     * @returns - The value of the "dictValue" property, or undefined if it does not exist.
     */
    dictValue?: PickProp<IField<Data, Payload>, "dictValue">;
    /**
     * @typedef IField
     * @property data - The data object
     * @property payload - The payload object
     */
    dictSearchText?: PickProp<IField<Data, Payload>, "dictSearchText">;
    /**
     * Represents the 'dictSearchItem' property of an object.
     *
     * @typedef dictSearchItem
     *
     * @description
     * This property is an optional field that is used to store information related to dictionary search item.
     * It is extracted from the 'IField' interface using the 'PickProp' utility type.
     *
     * @see {@link IField}
     * @see {@link PickProp}
     */
    dictSearchItem?: PickProp<IField<Data, Payload>, "dictSearchItem">;
    /**
     * Retrieves the value of the "dictCreateButton" property from the provided object,
     * which is of type PickProp<IField<Data, Payload>, "dictCreateButton">.
     *
     * @param input - The input object.
     * @returns - Returns the value of the "dictCreateButton" property,
     *                                       which can be of type "undefined" or "someDataType".
     */
    dictCreateButton?: PickProp<IField<Data, Payload>, "dictCreateButton">;
    /**
     * Represents the input type of a field.
     *
     * @typedef InputType
     *
     * @property inputType - The type of input for the field.
     */
    inputType?: PickProp<IField<Data, Payload>, "inputType">;
    /**
     * Represents the input mode configuration for a field.
     *
     * @typedef inputMode
     * @property inputMode - The input mode for the field.
     */
    inputMode?: PickProp<IField<Data, Payload>, "inputMode">;
    /**
     * Represents the input pattern of a field in the form.
     *
     * @typedef PickProp<IField<Data, Payload>, "inputPattern">
     * @property [inputPattern] - The regular expression pattern that the input value of the field must match.
     */
    inputPattern?: PickProp<IField<Data, Payload>, "inputPattern">;
    /**
     * Retrieves the value of the "inputAutocomplete" property from the specified object.
     *
     * @template Data The type of the data object.
     * @template Payload The type of the payload object.
     * @template T The type of the object.
     * @param obj The object from which to retrieve the "inputAutocomplete" property.
     * @returns The value of the "inputAutocomplete" property,
     * or undefined if the property doesn't exist.
     */
    inputAutocomplete?: PickProp<IField<Data, Payload>, "inputAutocomplete">;
    /**
     * Represents an input formatter for a specific type of field in a form.
     *
     * @template Data - The type of data object associated with the form.
     * @template Payload - The type of payload for the field.
     */
    inputFormatter?: PickProp<IField<Data, Payload>, "inputFormatter">;
    /**
     * Represents a symbol used by the input formatter for a given field.
     *
     * @typedef inputFormatterSymbol
     *
     * @property inputFormatterSymbol - The symbol used by the input formatter.
     */
    inputFormatterSymbol?: PickProp<
      IField<Data, Payload>,
      "inputFormatterSymbol"
    >;
    /**
     * Represents the allowed input formatters for a field.
     *
     * @typedef inputFormatterAllowed
     * @property inputFormatterAllowed - An array of allowed input formatter names.
     */
    inputFormatterAllowed?: PickProp<
      IField<Data, Payload>,
      "inputFormatterAllowed"
    >;
    /**
     * Represents a template for input formatter.
     *
     * @typedef InputFormatterTemplate
     */
    inputFormatterTemplate?: PickProp<
      IField<Data, Payload>,
      "inputFormatterTemplate"
    >;
    /**
     * Represents an object property `inputFormatterReplace` of the interface `IField<Data, Payload>`.
     *
     * @typedef inputFormatterReplace
     * @property inputFormatterReplace - The value of the `inputFormatterReplace` property.
     * @see {@link IField}
     * @see {@link PickProp}
     */
    inputFormatterReplace?: PickProp<
      IField<Data, Payload>,
      "inputFormatterReplace"
    >;
    /**
     * Type definition for the PickProp function.
     *
     * @template T - The type of the object to pick from.
     * @template K - The type of the property to pick.
     * @param object - The object to pick from.
     * @param prop - The property to pick from the object.
     * @returns The value of the picked property.
     */
    description?: PickProp<IField<Data, Payload>, "description">;
    /**
     * A type representing the picked property "outlined" from the given object type.
     *
     * @template T - The object type to pick the property from.
     * @template K - The name of the property to pick.
     */
    outlined?: PickProp<IField<Data, Payload>, "outlined">;
    /**
     * Type declaration for the utility function `PickProp`.
     *
     * @template T - The type of the input object.
     * @template K - The type of the property to pick.
     */
    title?: PickProp<IField<Data, Payload>, "title">;
    /**
     * Type definition for the `placeholder` property of `PickProp` type.
     *
     * The `placeholder` property represents a subset of the `IField<Data, Payload>` type,
     * where it specifically picks the `placeholder` property.
     *
     * @template Data - The type of the `Data` object in `IField`.
     * @template Payload - The type of the `Payload` object in `IField`.
     *
     * @typedef PlaceholderType
     *
     */
    placeholder?: PickProp<IField<Data, Payload>, "placeholder">;
    /**
     * The `readonly` property of the `IField` object.
     *
     * @typedef readonly
     * @property value - A boolean value indicating if the field is read-only or not.
     */
    readonly?: PickProp<IField<Data, Payload>, "readonly">;
    /**
     * Represents the `disabled` property of a given field in a form.
     *
     * @template Data - The data type of the field.
     * @template Payload - The payload type of the field.
     * @template IField - The interface of the field.
     * @template PickProp - Utility to pick a property from an interface.
     *
     * @param field - The given field in a form.
     *
     * @returns - The value of the `disabled` property.
     */
    disabled?: PickProp<IField<Data, Payload>, "disabled">;
    /**
     * Represents the group reference property of a field in a data payload.
     * @typedef groupRef
     * @property groupRef - The group reference value.
     */
    groupRef?: PickProp<IField<Data, Payload>, "groupRef">;
    /**
     * Represents a reference to the input element within a field.
     *
     * @typedef InputRef
     * @property name - The name of the input element.
     * @property id - The unique ID of the input element.
     * @property element - The actual input element.
     */
    inputRef?: PickProp<IField<Data, Payload>, "inputRef">;
    /**
     * Represents the configuration for the leading icon ripple effect.
     *
     * @typedef leadingIconRipple
     * @memberof PickProp<IField<Data, Payload>, 'leadingIconRipple'>
     */
    leadingIconRipple?: PickProp<IField<Data, Payload>, "leadingIconRipple">;
    /**
     * Represents the trailing icon ripple configuration for a field.
     *
     * @typedef trailingIconRipple
     */
    trailingIconRipple?: PickProp<IField<Data, Payload>, "trailingIconRipple">;
    /**
     * Represents the leading icon for a field.
     *
     * @typedef leadingIcon
     *
     * @property [name] - The name of the leading icon.
     * @property [url] - The URL of the leading icon.
     * @property [color] - The color of the leading icon.
     */
    leadingIcon?: PickProp<IField<Data, Payload>, "leadingIcon">;
    /**
     * This is a variable named trailingIcon.
     * The variable is an optional property of type 'PickProp<IField<Data, Payload>, 'trailingIcon'>'.
     *
     * @typedef Data - The data type used by IField.
     * @typedef Payload - The payload type used by IField.
     * @typedef PickProp - The type used to pick properties from IField.
     * @property [trailingIcon] - Optional trailing icon property.
     */
    trailingIcon?: PickProp<IField<Data, Payload>, "trailingIcon">;
    /**
     * Represents the optional property 'leadingIconClick' from the 'IField' interface.
     *
     * @template Data - The type of data associated with the field.
     * @template Payload - The type of payload expected when the leading icon is clicked.
     *
     * @param leadingIconClick - The value of the 'leadingIconClick' property.
     *
     * @returns
     */
    leadingIconClick?: PickProp<IField<Data, Payload>, "leadingIconClick">;
    /**
     * The `trailingIconClick` property defines the action to be performed when the trailing icon of a field is clicked.
     *
     * @typedef IField
     * @template Data, Payload
     *
     * @param trailingIconClick - The value of the `trailingIconClick` property which defines the action to be performed when the trailing
     * icon is clicked.
     *
     * @description
     * The `trailingIconClick` property accepts a function that will be executed when the trailing icon of a field is clicked.
     */
    trailingIconClick?: PickProp<IField<Data, Payload>, "trailingIconClick">;
    leadingIconTabIndex?: PickProp<
      IField<Data, Payload>,
      "leadingIconTabIndex"
    >;
    trailingIconTabIndex?: PickProp<
      IField<Data, Payload>,
      "trailingIconTabIndex"
    >;
  }
  export interface IDictFieldPrivate<Data = IAnything> {
    onChange: PickProp<IManaged<Data>, "onChange">;
    invalid: PickProp<IManaged<Data>, "invalid">;
    incorrect: PickProp<IManaged<Data>, "incorrect">;
    value: PickProp<IManaged<Data>, "value">;
    loading: PickProp<IManaged<Data>, "loading">;
    disabled: PickProp<IManaged<Data>, "disabled">;
    dirty: PickProp<IManaged<Data>, "dirty">;
    name: PickProp<IManaged<Data>, "name">;
  }
  /**
   * A component for rendering a DictField.
   *
   * @param DictFieldProps - The props for the DictField component.
   * @param DictFieldProps.invalid - Indicates whether the field is invalid.
   * @param DictFieldProps.incorrect - Indicates whether the field is incorrect.
   * @param DictFieldProps.value - The value of the field.
   * @param DictFieldProps.disabled - Indicates whether the field is disabled.
   * @param DictFieldProps.readonly - Indicates whether the field is readonly.
   * @param DictFieldProps.inputType - The type of the input.
   * @param DictFieldProps.inputAutocomplete - The autocomplete mode for the input.
   * @param DictFieldProps.description - The description for the field.
   * @param DictFieldProps.outlined - Indicates whether the field is outlined.
   * @param DictFieldProps.title - The title for the field.
   * @param DictFieldProps.placeholder - The placeholder text for the field.
   * @param DictFieldProps.dirty - Indicates whether the field has been modified.
   * @param DictFieldProps.loading - Indicates whether the field is loading.
   * @param DictFieldProps.onChange - The event handler for field value change.
   * @param DictFieldProps.dictLimit - The limit of the dictionary items.
   * @param DictFieldProps.dictDelay - The delay for dictionary search.
   * @param DictFieldProps.dictSearch - The search query for the dictionary.
   * @param DictFieldProps.dictOnAppend - The event handler for dictionary item append.
   * @param DictFieldProps.dictOnText - The event handler for dictionary text change.
   * @param DictFieldProps.dictOnItem - The event handler for dictionary item selection.
   * @param DictFieldProps.dictValue - The dictionary item value.
   * @param DictFieldProps.dictSearchText - The search query for dictionary text.
   * @param DictFieldProps.dictSearchItem - The dictionary item for search.
   * @param DictFieldProps.dictCreateButton - Indicates whether to provide a create button for dictionary items.
   * @param DictFieldProps.inputMode - The input mode for the field.
   * @param DictFieldProps.inputPattern - The input pattern for the field.
   * @param DictFieldProps.groupRef - The reference to the group containing the field.
   * @param DictFieldProps.inputRef - The reference to the input field.
   * @param DictFieldProps.inputFormatter - The input formatter function.
   * @param DictFieldProps.inputFormatterAllowed - The allowed characters for input formatting.
   * @param DictFieldProps.inputFormatterReplace - The replacement text for input formatting.
   * @param DictFieldProps.inputFormatterSymbol - The symbol used for input formatting.
   * @param DictFieldProps.inputFormatterTemplate - The template for input formatting.
   * @param DictFieldProps.name - The name of the field.
   * @param DictFieldProps.leadingIcon - The leading icon for the field.
   * @param DictFieldProps.trailingIcon - The trailing icon for the field.
   * @param DictFieldProps.leadingIconClick - The event handler for click on the leading icon.
   * @param DictFieldProps.trailingIconClick - The event handler for click on the trailing icon.
   * @param DictFieldProps.leadingIconRipple - Indicates whether the leading icon should have ripple effect.
   * @param DictFieldProps.trailingIconRipple - Indicates whether the trailing icon should have ripple effect.
   *
   * @return - The rendered DictField component.
   */
  export const DictField: {
    ({
      invalid,
      incorrect,
      value,
      disabled,
      readonly,
      inputType,
      inputAutocomplete,
      description,
      outlined,
      title,
      placeholder,
      dirty,
      loading,
      onChange,
      dictLimit,
      dictDelay,
      dictSearch,
      dictOnAppend,
      dictOnText,
      dictOnItem,
      dictValue,
      dictSearchText,
      dictSearchItem,
      dictCreateButton,
      inputMode,
      inputPattern,
      groupRef,
      inputRef,
      inputFormatter,
      inputFormatterAllowed,
      inputFormatterReplace,
      inputFormatterSymbol,
      inputFormatterTemplate,
      name,
      leadingIcon,
      trailingIcon,
      leadingIconClick,
      trailingIconClick,
      leadingIconRipple,
      trailingIconRipple,
      leadingIconTabIndex,
      trailingIconTabIndex,
    }: IDictFieldProps & IDictFieldPrivate): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      className,
      sx,
      columns,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      phoneHidden: upperPhoneHidden,
      tabletHidden: upperTabletHidden,
      desktopHidden: upperDesktopHidden,
      isDisabled: isDisabledUpper,
      isVisible: isVisibleUpper,
      isInvalid: isInvalidUpper,
      isIncorrect: isIncorrectUpper,
      isReadonly: isReadonlyUpper,
      readTransform,
      writeTransform,
      change,
      fallback,
      ready,
      compute: upperCompute,
      shouldRecompute,
      click,
      map,
      object: upperObject,
      name,
      title,
      menu,
      type,
      debug,
      focus,
      blur,
      invalidity,
      prefix,
      dirty: upperDirty,
      disabled: fieldDisabled,
      readonly: upperReadonly,
      autoFocus,
      style,
      menuItems,
      groupRef: ref,
      fieldRightMargin,
      fieldBottomMargin,
      outlinePaper,
      transparentPaper,
      testId,
      ...otherProps
    }: import("../../../model/IEntity").IEntity<Data, any>): JSX.Element | null;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/components/One/fields/TreeField" {
  import IManaged, { PickProp } from "react-declarative-lite/model/IManaged";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IField from "react-declarative-lite/model/IField";
  /**
   * Interface for the props of the ITreeField component.
   *
   * @template Data The type of data in the field.
   * @template Payload The type of payload in the field.
   */
  export interface ITreeFieldProps<Data = IAnything, Payload = IAnything> {
    /**
     * Validation factory config
     *
     * @template IField - Type representing the field object.
     * @template Data - Type representing the data object.
     * @template Payload - Type representing the payload object.
     *
     * @returns The value of the "validation" property.
     */
    validation?: PickProp<IField<Data, Payload>, "validation">;
    /**
     * Returns the "description" property of a given object.
     *
     * @template T - The type of the object.
     * @template K - The literal key type.
     *
     * @param obj - The object from which to extract the property.
     * @param key - The literal key representing the property to extract.
     *
     * @returns - The value of the specified property.
     */
    description?: PickProp<IField<Data, Payload>, "description">;
    /**
     * Type declaration for the PickProp utility function.
     */
    outlined?: PickProp<IField<Data, Payload>, "outlined">;
    /**
     * Type definition for the "title" property picked from the given object type.
     *
     * @template IField - The object type that contains the "title" property.
     * @template Data - The data type of the "title" property.
     * @template Payload - The payload type of the "title" property.
     *
     * @param - The object from which the "title" property will be picked.
     *
     * @returns - The resulting object that only contains the "title" property.
     */
    title?: PickProp<IField<Data, Payload>, "title">;
    /**
     * Type definition for the variable placeholder.
     *
     * @template Data - The type of data for the field.
     * @template Payload - The type of payload for the field.
     * @typedef placeholder
     */
    placeholder?: PickProp<IField<Data, Payload>, "placeholder">;
    /**
     * Specifies if a field is readOnly.
     *
     * @typedef Readonly
     *
     * @typedef IField
     * @typedef Payload
     * @typedef PickProp
     * @typedef Data
     *
     * @param readonly - The field being checked for readOnly status.
     *
     * @returns - A boolean value indicating if the field is readOnly.
     */
    readonly?: PickProp<IField<Data, Payload>, "readonly">;
    /**
     * Represents the `disabled` property of a field in a form.
     *
     * @typedef Disabled
     *
     * @property disabled - Indicates whether the field is disabled or not.
     * @template Data - The type of data stored in the form.
     * @template Payload - The type of payload used for form submission.
     */
    disabled?: PickProp<IField<Data, Payload>, "disabled">;
    /**
     * Represents the item tree of a specific field in the data payload.
     *
     * @typedef ItemTree
     */
    itemTree?: PickProp<IField<Data, Payload>, "itemTree">;
    /**
     * Represents the change detection flag for item tree
     *
     * @typedef boolean
     */
    watchItemTree?: PickProp<IField<Data, Payload>, "watchItemTree">;
  }
  /**
   * Represents the private interface for the TreeField component.
   *
   * @template Data The type of data for the TreeField component.
   */
  export interface ITreeFieldPrivate<Data = IAnything> {
    onChange: PickProp<IManaged<Data>, "onChange">;
    invalid: PickProp<IManaged<Data>, "invalid">;
    incorrect: PickProp<IManaged<Data>, "incorrect">;
    value: PickProp<IManaged<Data>, "value">;
    loading: PickProp<IManaged<Data>, "loading">;
    disabled: PickProp<IManaged<Data>, "disabled">;
    dirty: PickProp<IManaged<Data>, "dirty">;
    name: PickProp<IManaged<Data>, "name">;
    withContextMenu: PickProp<IManaged<Data>, "withContextMenu">;
  }
  /**
   * Renders a TreeField component.
   *
   * @param props - The props object containing the necessary data for rendering the TreeField.
   * @param props.invalid - Determines if the TreeField is invalid.
   * @param props.value - The value of the TreeField.
   * @param props.disabled - Determines if the TreeField is disabled.
   * @param props.readonly - Determines if the TreeField is readonly.
   * @param props.incorrect - Determines if the TreeField is incorrect.
   * @param props.description - The description text for the TreeField.
   * @param props.outlined - Determines if the TreeField should have an outlined style.
   * @param props.title - The title text for the TreeField.
   * @param props.placeholder - The placeholder text for the TreeField.
   * @param props.itemTree - The itemTree object for rendering the Tree.
   * @param props.dirty - Determines if the TreeField has been modified.
   * @param props.loading - Determines if the TreeField is currently loading.
   * @param props.onChange - The callback function to be called when the value of the TreeField changes.
   * @param props.name - The name attribute of the TreeField.
   * @param props.withContextMenu - Determines if the TreeField should have a context menu.
   *
   * @returns The rendered TreeField component.
   */
  export const TreeField: {
    ({
      invalid,
      value,
      disabled,
      readonly,
      incorrect,
      description,
      outlined,
      title,
      placeholder,
      itemTree,
      dirty,
      loading,
      onChange,
      name,
      watchItemTree,
      withContextMenu,
    }: ITreeFieldProps & ITreeFieldPrivate): JSX.Element;
    displayName: string;
  };
  const _default: {
    <Data extends unknown = any>({
      className,
      sx,
      columns,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      phoneHidden: upperPhoneHidden,
      tabletHidden: upperTabletHidden,
      desktopHidden: upperDesktopHidden,
      isDisabled: isDisabledUpper,
      isVisible: isVisibleUpper,
      isInvalid: isInvalidUpper,
      isIncorrect: isIncorrectUpper,
      isReadonly: isReadonlyUpper,
      readTransform,
      writeTransform,
      change,
      fallback,
      ready,
      compute: upperCompute,
      shouldRecompute,
      click,
      map,
      object: upperObject,
      name,
      title,
      menu,
      type,
      debug,
      focus,
      blur,
      invalidity,
      prefix,
      dirty: upperDirty,
      disabled: fieldDisabled,
      readonly: upperReadonly,
      autoFocus,
      style,
      menuItems,
      groupRef: ref,
      fieldRightMargin,
      fieldBottomMargin,
      outlinePaper,
      transparentPaper,
      testId,
      ...otherProps
    }: import("../../../model/IEntity").IEntity<Data, any>): JSX.Element | null;
    displayName: string;
  };
  export default _default;
}

declare module "react-declarative-lite/model/IPhonyField" {
  import IField from "react-declarative-lite/model/IField";
  /**
   * Represents a phony field interface with additional properties.
   *  - Phony fields are not serializable, so they will not affect form data
   *  - Phony fields are reflectable, `getAvailableFields()` and `<VisibilityView />` will detect them.
   * @interface
   */
  export interface IPhonyField {
    title?: IField["title"];
    description?: IField["description"];
    placeholder?: IField["placeholder"];
  }
  export default IPhonyField;
}

declare module "react-declarative-lite/model/ComponentFieldInstance" {
  import type IField from "react-declarative-lite/model/IField";
  import type IManaged from "react-declarative-lite/model/IManaged";
  /**
   * Represents parameters for a component field element callback.
   * @template Data - The data type of the field.
   * @template Payload - The payload type of the field.
   */
  export type ComponentFieldInstance<Data = any, Payload = any> = Data & {
    /**
     * A callback function type that is called when a change event occurs.
     *
     * @callback onChange
     * @param data - The partial data that has changed.
     * @returns
     */
    onChange: (data: Partial<Data>) => void;
    /**
     * Callback function to handle the change event of a managed data object.
     *
     * @callback onValueChange
     * @memberof IManaged
     * @template Data - The type of data managed by the object.
     * @template Payload - The type of payload passed to the change event handler.
     * @param data - The updated data after the change.
     * @param payload - The payload passed to the change event handler.
     * @returns
     */
    onValueChange: IManaged<Data, Payload>["onChange"];
    /**
     * Represents the field data.
     *
     * @typedef FieldData
     * @property data - The data object.
     */
    _fieldData: Data;
    /**
     * Represents a field parameter for a particular field.
     *
     * @typedef IField
     * @property name - The name of the field.
     * @property type - The data type of the field.
     * @property required - Indicates if the field is required.
     * @property length - The maximum length of the field value.
     */
    _fieldParams: IField;
    /**
     * Represents the context variable.
     *
     * @typedef Context
     */
    context: Record<string, any>;
    /**
     * Represents whether an outline paper is present.
     *
     * @type {boolean}
     */
    outlinePaper: boolean;
    /**
     * Represents whether the paper is transparent.
     *
     * @type {boolean}
     */
    transparentPaper: boolean;
    /**
     * Represents a payload object.
     *
     * @class
     * @classdesc This class represents a payload object that can be used to send data between systems.
     */
    payload: Payload;
    /**
     * Represents the state of disablement.
     *
     * @typedef Disabled
     */
    disabled: boolean;
    /**
     * Indicates whether a variable is read-only or not.
     *
     * @type {boolean}
     */
    readonly: boolean;
    /**
     * The 'incorrect' property of IManaged<Data, Payload> interface represents the incorrect value of a managed data object.
     *
     * @template Data - The type of the managed data object.
     * @template Payload - The type of data payload that represents the incorrect value.
     *
     * @type {Payload}
     */
    incorrect: IManaged<Data, Payload>["incorrect"];
    /**
     * Represents the `invalid` property of the `IManaged` interface.
     *
     * This property stores the invalid state of a managed object in relation to
     * its data and payload types.
     *
     * @template Data - The data type of the managed object.
     * @template Payload - The payload type of the managed object.
     *
     * @type {boolean}
     */
    invalid: IManaged<Data, Payload>["invalid"];
    value: IManaged<Data, Payload>["value"];
    features: string[];
    onClick: (e: React.MouseEvent<any>) => void | Promise<void>;
  };
  /**
   * Interface representing a debug object.
   */
  export interface IDebug<Data = any, Payload = any> {
    originalComponent: React.ComponentType<IManaged<Data>>;
    managedProps: IManaged<Data>;
    payload: Payload;
  }
  /**
   * Represents the props for a specific instance of a component field.
   */
  export type ComponentFieldInstanceProps = Omit<
    ComponentFieldInstance,
    keyof {
      context: never;
    }
  > & {
    Element: React.ComponentType<ComponentFieldInstance>;
  };
  export default ComponentFieldInstance;
}

declare module "react-declarative-lite/components/SearchView/model/ISearchItem" {
  import IAnything from "react-declarative-lite/model/IAnything";
  /**
   * Represents a search item.
   * @interface
   * @template T - The type of additional data associated with the search item.
   */
  export interface ISearchItem<T extends IAnything = IAnything> {
    label: string;
    value: string;
    data?: T;
  }
  export default ISearchItem;
}

declare module "react-declarative-lite/components/SearchView/model/ISearchViewProps" {
  import { SxProps } from "@mui/material";
  import { TextFieldProps } from "@mui/material/TextField";
  import ISearchItem from "react-declarative-lite/components/SearchView/model/ISearchItem";
  import IAnything from "react-declarative-lite/model/IAnything";
  import ISearchItemProps from "react-declarative-lite/components/SearchView/model/ISearchItemProps";
  import ISearchInputProps from "react-declarative-lite/components/SearchView/model/ISearchInputProps";
  import ICreateButtonProps from "react-declarative-lite/components/SearchView/model/ICreateButtonProps";
  import type TSubject from "react-declarative-lite/model/TSubject";
  /**
   * Interface for the props of the SearchView component.
   * @template Data - Type parameter representing the data type of search items.
   * @template Payload - Type parameter representing the payload type for async operations.
   */
  export type ISearchViewProps<
    Data extends IAnything = IAnything,
    Payload = IAnything,
  > = Omit<
    TextFieldProps,
    keyof {
      value: never;
      onChange: never;
      className: never;
      style: never;
      sx: never;
      ref: never;
      onClick: never;
      disabled: never;
      InputProps: never;
      inputProps: never;
      fullWidth: never;
    }
  > & {
    className?: string;
    style?: React.CSSProperties;
    sx?: SxProps<any>;
    changeSubject?: TSubject<void>;
    fullWidth?: boolean;
    SearchItem?: React.ComponentType<ISearchItemProps<Data>>;
    SearchInput?: React.ComponentType<ISearchInputProps>;
    CreateButton?: React.ComponentType<ICreateButtonProps>;
    payload?: Payload | (() => Payload);
    value?:
      | ISearchItem<Data>
      | null
      | (() => null | ISearchItem<Data> | Promise<null | ISearchItem<Data>>);
    searchText?: string | null | (() => null | string | Promise<null | string>);
    startAdornment?: React.ReactNode;
    endAdornment?: React.ReactNode;
    type?: keyof {
      date: string;
      email: string;
      number: string;
      search: never;
      tel: never;
      text: never;
      time: never;
      url: never;
      week: never;
    };
    mode?: keyof {
      none: never;
      text: never;
      tel: never;
      url: never;
      email: never;
      numeric: never;
      decimal: never;
      search: never;
    };
    pattern?: string;
    handler: (
      search: string,
      limit: number,
      offset: number,
      initial: boolean,
      currentRows: ISearchItem<Data>[],
    ) => ISearchItem<Data>[] | Promise<ISearchItem<Data>[]>;
    onChange?: (value: ISearchItem<Data> | null) => void;
    onCreate?: (value: string) => void;
    onTextChange?: (value: string) => void;
    disabled?: boolean;
    label?: string;
    placeholder?: string;
    delay?: number;
    limit?: number;
    variant?: "standard" | "outlined" | "filled";
    onLoadStart?: () => void;
    onLoadEnd?: (isOk: boolean) => void;
    fallback?: (error: Error) => void;
    throwError?: boolean;
  };
  export default ISearchViewProps;
}

declare module "react-declarative-lite/model/IFieldMenu" {
  import IAnything from "react-declarative-lite/model/IAnything";
  import { Value } from "react-declarative-lite/model/IField";
  import IOption from "react-declarative-lite/model/IOption";
  /**
   * Represents a field menu.
   * @template Data - The type of data for the menu.
   * @template Payload - The type of payload for the menu.
   */
  export interface IFieldMenu<Data = IAnything, Payload = IAnything>
    extends Omit<
      IOption,
      keyof {
        isVisible: never;
        isDisabled: never;
      }
    > {
    /**
     * Determines the visibility of an element based on the given data and payload.
     *
     * @param data - The data used for determining visibility.
     * @param payload - Additional payload used for determining visibility.
     * @returns - A Promise resolving to a boolean value or a boolean value indicating the visibility of the element.
     */
    isVisible?: (data: Data, payload: Payload) => Promise<boolean> | boolean;
    /**
     * Checks whether the given data and payload indicate that the feature is disabled.
     *
     * @param data - The data used to determine if the feature is disabled.
     * @param payload - The payload used to determine if the feature is disabled.
     * @returns - Returns a Promise resolving to a boolean indicating whether the feature is disabled. If a Promise is returned, it resolves to `true` if the
     * feature is disabled, otherwise it resolves to `false`. If a boolean is returned directly, it indicates whether the feature is disabled.
     */
    isDisabled?: (data: Data, payload: Payload) => Promise<boolean> | boolean;
    /**
     * Represents a callback function that is triggered on click event.
     * @callback onClick
     * @param data - The data object associated with the click event.
     * @param payload - The payload object associated with the click event.
     * @param onValueChange - A callback function that is called when the value of `data` is changed.
     *                                  It is passed the new value as a parameter.
     * @param onChange - A callback function that is called when any change occurs in `data`.
     *                             It is passed the updated `data` object as a parameter.
     * @returns
     */
    onClick?: (
      data: Data,
      payload: Payload,
      onValueChange: (value: Value) => void,
      onChange: (data: Data) => void,
    ) => void;
  }
  export default IFieldMenu;
}

declare module "react-declarative-lite/model/ITreeNode" {
  import INode from "react-declarative-lite/components/TreeView/model/INode";
  /**
   * Represents a Node in a tree structure.
   */
  export interface ITreeNode extends INode {}
  export default ITreeNode;
}

declare module "react-declarative-lite/components/One" {
  export * from "react-declarative-lite/components/One/One";
  export * from "react-declarative-lite/components/One/slots";
  export { OneConfig } from "react-declarative-lite/components/One/components/OneConfig";
  export { createField } from "react-declarative-lite/components/One/config/createField";
  export { makeField } from "react-declarative-lite/components/One/components/makeField";
  export { createLayout } from "react-declarative-lite/components/One/config/createLayout";
  export { makeLayout } from "react-declarative-lite/components/One/components/makeLayout";
  export { useOneMenu } from "react-declarative-lite/components/One/context/MenuProvider";
  export { useOneProps } from "react-declarative-lite/components/One/context/PropsProvider";
  export { useOneState } from "react-declarative-lite/components/One/context/StateProvider";
  export { useOnePayload } from "react-declarative-lite/components/One/context/PayloadProvider";
  export { useOneFeatures } from "react-declarative-lite/components/One/context/FeatureProvider";
  export { useOneRadio } from "react-declarative-lite/components/One/context/RadioProvider";
  export { useOneContext } from "react-declarative-lite/components/One/context/OneContextProvider";
  export { OtherComboSlot } from "react-declarative-lite/components/One/other/OtherComboSlot";
  export { OtherItemsSlot } from "react-declarative-lite/components/One/other/OtherItemsSlot";
  export { default as OneSlotFactory } from "react-declarative-lite/components/One/components/SlotFactory";
  export { defaultSlots as OneDefaultSlots } from "react-declarative-lite/components/One/components/SlotFactory";
  export { isBaseline } from "react-declarative-lite/components/One/config/isBaseline";
  export { isBaselineSimple } from "react-declarative-lite/components/One/config/isBaselineSimple";
  export { isBaselineForField as isBaselineForRoot } from "react-declarative-lite/components/One/config/isBaseline";
  export { default } from "react-declarative-lite/components/One/One";
}

declare module "react-declarative-lite/components/NoSsr" {
  export * from "react-declarative-lite/components/NoSsr/NoSsr";
  export { default } from "react-declarative-lite/components/NoSsr/NoSsr";
}

declare module "react-declarative-lite/components/ActionButton" {
  export * from "react-declarative-lite/components/ActionButton/ActionButton";
  export { default } from "react-declarative-lite/components/ActionButton/ActionButton";
}

declare module "react-declarative-lite/components/ActionIcon" {
  export * from "react-declarative-lite/components/ActionIcon/ActionIcon";
  export { default } from "react-declarative-lite/components/ActionIcon/ActionIcon";
}

declare module "react-declarative-lite/components/SearchView" {
  export * from "react-declarative-lite/components/SearchView/SearchView";
  export * from "react-declarative-lite/components/SearchView/model/ISearchItem";
  export { default } from "react-declarative-lite/components/SearchView/SearchView";
}

declare module "react-declarative-lite/components/InfiniteView" {
  export * from "react-declarative-lite/components/InfiniteView/InfiniteView";
  export { default } from "react-declarative-lite/components/InfiniteView/InfiniteView";
}

declare module "react-declarative-lite/components/VirtualView" {
  export * from "react-declarative-lite/components/VirtualView/VirtualView";
  export { CHILD_ELEMENT as VIRTUAL_VIEW_CHILD } from "react-declarative-lite/components/VirtualView/VirtualView";
  export { ROOT_ELEMENT as VIRTUAL_VIEW_ROOT } from "react-declarative-lite/components/VirtualView/VirtualView";
  export { default } from "react-declarative-lite/components/VirtualView/VirtualView";
}

declare module "react-declarative-lite/components/TreeView" {
  export * from "react-declarative-lite/components/TreeView/TreeView";
  export type { INode as ITreeViewNode } from "react-declarative-lite/components/TreeView/model/INode";
  export { default } from "react-declarative-lite/components/TreeView/TreeView";
}

declare module "react-declarative-lite/components/Tile" {
  export * from "react-declarative-lite/components/Tile/Tile";
  export * from "react-declarative-lite/components/Tile/api/useOffsetPaginator";
  export * from "react-declarative-lite/components/Tile/api/useCursorPaginator";
  export * from "react-declarative-lite/components/Tile/api/useGridAction";
  export * from "react-declarative-lite/components/Tile/api/useGridSelection";
  export * from "react-declarative-lite/components/Tile/components/TileCheckbox";
  export * from "react-declarative-lite/components/Tile/model/TileMode";
  export * from "react-declarative-lite/components/Tile/model/ITile";
  export * from "react-declarative-lite/components/Tile/model/ITileProps";
  export { default } from "react-declarative-lite/components/Tile/Tile";
}

declare module "react-declarative-lite/components/Async" {
  export * from "react-declarative-lite/components/Async/Async";
  export { default } from "react-declarative-lite/components/Async/Async";
}

declare module "react-declarative-lite/components/If" {
  export * from "react-declarative-lite/components/If/If";
  export { default } from "react-declarative-lite/components/If/If";
}

declare module "react-declarative-lite/components/common/ItemModal" {
  export * from "react-declarative-lite/components/common/ItemModal/ItemModal";
  export { default } from "react-declarative-lite/components/common/ItemModal/ItemModal";
}

declare module "react-declarative-lite/components/One/components/SlotFactory" {
  export * from "react-declarative-lite/components/One/components/SlotFactory/SlotFactory";
  export * from "react-declarative-lite/components/One/components/SlotFactory/SlotContext";
  export * from "react-declarative-lite/components/One/components/SlotFactory/ISlotFactoryContext";
  export { default } from "react-declarative-lite/components/One/components/SlotFactory/SlotFactory";
}

declare module "react-declarative-lite/components/ModalManager/ModalManagerProvider" {
  import * as React from "react";
  /**
   * Represents the properties for the `ModalManagerProvider` component.
   */
  interface IModalManagerProviderProps {
    onLoadStart?: () => void;
    onLoadEnd?: (isOk: boolean) => void;
    throwError?: boolean;
    fallback?: (error: Error) => void;
    children: React.ReactNode;
  }
  /**
   * ModalManagerProvider component provides a context for managing modals in an application.
   *
   * @param props - The props object containing the following properties:
   *   - children: ReactNode - The child components to be rendered inside the provider.
   *   - fallback: ReactNode - The fallback component to be rendered when there are no modals.
   *   - throwError: boolean - Whether to throw an error when an unexpected state occurs.
   *   - onLoadEnd: function - Callback function to be executed after loading ends.
   *   - onLoadStart: function - Callback function to be executed before loading starts.
   *
   * @returns The rendered ModalManagerProvider component.
   */
  export const ModalManagerProvider: ({
    children,
    fallback,
    throwError,
    onLoadEnd,
    onLoadStart,
  }: IModalManagerProviderProps) => JSX.Element;
  export default ModalManagerProvider;
}

declare module "react-declarative-lite/components/ModalManager/model/IModal" {
  import ModalRender from "react-declarative-lite/components/ModalManager/model/ModalRender";
  /**
   * Represents a modal component.
   *
   * @interface IModal
   */
  export interface IModal {
    id: string;
    render: ModalRender;
    /**
     * Function called when the component initializes.
     *
     * @typedef onInit
     * @return {Promise<void> | void} Returns a Promise that resolves when the initialization is complete, or undefined if there is no need for an asynchronous operation.
     */
    onInit?: () => Promise<void> | void;
    /**
     * Function called when the component mounts.
     *
     * @param count - The count parameter for the onMount function.
     * @param stack - The stack parameter for the onMount function.
     * @returns - A Promise that resolves to void or a void value.
     */
    onMount?: (count: number, stack: IModal[]) => Promise<void> | void;
    /**
     * Callback function called when unmounting occurs.
     *
     * @param count - The count value.
     * @param stack - The stack of modals.
     * @returns - A Promise that resolves when the function completes or void if no Promise is returned.
     */
    onUnmount?: (count: number, stack: IModal[]) => Promise<void> | void;
  }
  export default IModal;
}

declare module "react-declarative-lite/components/ModalManager/model/ModalRender" {
  /**
   * Represents a function that renders a modal and returns React node.
   * @typedef ModalRender
   */
  export type ModalRender = () => React.ReactNode;
  export default ModalRender;
}

declare module "react-declarative-lite/components/ModalManager/hooks/useModalManager" {
  import IModal from "react-declarative-lite/components/ModalManager/model/IModal";
  /**
   * Represents a result object with a total property and push, pop, and clear methods.
   *
   * @interface
   */
  interface IResult {
    total: number;
    /**
     * Pushes a modal onto the stack.
     *
     * @param modal - The modal object to be pushed.
     * @returns
     */
    push: (modal: IModal) => void;
    /**
     * Removes the last element from an array and returns undefined.
     */
    pop: () => void;
    /**
     * Clears the modal stack.
     */
    clear: () => void;
  }
  /**
   * Returns a result object for managing modals using the ModalManagerContext.
   *
   * @return The result object for managing modals.
   */
  export const useModalManager: () => IResult;
  export default useModalManager;
}

declare module "react-declarative-lite/components/common/Group" {
  export * from "react-declarative-lite/components/common/Group/Group";
  export { default } from "react-declarative-lite/components/common/Group/Group";
}

declare module "react-declarative-lite/components/common/Outline" {
  export * from "react-declarative-lite/components/common/Outline/Outline";
  export { default } from "react-declarative-lite/components/common/Outline/Outline";
}

declare module "react-declarative-lite/components/common/Paper" {
  export * from "react-declarative-lite/components/common/Paper/Paper";
  export { default } from "react-declarative-lite/components/common/Paper/Paper";
}

declare module "react-declarative-lite/components/common/Expansion" {
  export * from "react-declarative-lite/components/common/Expansion/Expansion";
  export { default } from "react-declarative-lite/components/common/Expansion/Expansion";
}

declare module "react-declarative-lite/components/SearchView/model/ISearchItemProps" {
  import IAnything from "react-declarative-lite/model/IAnything";
  import ISearchItem from "react-declarative-lite/components/SearchView/model/ISearchItem";
  /**
   * Represents the properties for a search item.
   *
   * @template T - The data type for the search item.
   */
  export interface ISearchItemProps<T extends IAnything = IAnything>
    extends Omit<
      ISearchItem,
      keyof {
        data: never;
      }
    > {
    disabled: boolean;
    payload: IAnything;
    data: T;
  }
  export default ISearchItemProps;
}

declare module "react-declarative-lite/components/SearchView/model/ISearchInputProps" {
  import ISearchViewProps from "react-declarative-lite/components/SearchView/model/ISearchViewProps";
  import type TSubject from "react-declarative-lite/model/TSubject";
  /**
   * Represents the properties for the SearchInput component.
   */
  export interface ISearchInputProps {
    placeholder?: string;
    type: Exclude<ISearchViewProps["type"], undefined>;
    mode: Exclude<ISearchViewProps["mode"], undefined>;
    autoComplete: ISearchViewProps["autoComplete"];
    pattern: ISearchViewProps["pattern"];
    reloadSubject: TSubject<void>;
    onTextChange: (value: string) => void;
    loading: boolean;
    getValue: () => string;
  }
  export default ISearchInputProps;
}

declare module "react-declarative-lite/components/SearchView/model/ICreateButtonProps" {
  import IAnything from "react-declarative-lite/model/IAnything";
  /**
   * Represents the properties for creating a button.
   */
  export interface ICreateButtonProps {
    search: string;
    payload: IAnything;
  }
  export default ICreateButtonProps;
}

declare module "react-declarative-lite/components/TreeView/model/INode" {
  /**
   * Represents a Node in a tree structure.
   */
  export interface INode {
    label: string;
    value: string;
    /**
     * Represents an array of child nodes excluding the "child" property (recursion).
     *
     * @typedef ChildArray
     */
    child?: Omit<INode, "child">[];
  }
  export default INode;
}

declare module "react-declarative-lite/components/One/One" {
  import IField from "react-declarative-lite/model/IField";
  import TypedField from "react-declarative-lite/model/TypedField";
  import IOnePublicProps from "react-declarative-lite/model/IOnePublicProps";
  /**
   * Creates a json template engine called `One` with the given props.
   *
   * @param props - The props for the component.
   * @param props.createField - The function to create a field.
   * @param props.createLayout - The function to create a layout.
   * @param props.apiRef - The API reference object.
   * @param props.changeSubject - The subject for change events.
   * @param props.reloadSubject - The subject for reload events.
   * @param props.updateSubject - The subject for update events.
   * @param props.onFocus - The callback function for focus events.
   * @param props.onBlur - The callback function for blur events.
   * @param props.onMenu - The callback function for menu events.
   * @param props.onClick - The callback function for click events.
   * @param props.onReady - The callback function for ready events.
   * @param props.onChange - The callback function for change events.
   * @param props.onInvalid - The callback function for invalid events.
   * @param props.onLoadStart - The callback function for load start events.
   * @param props.onLoadEnd - The callback function for load end events.
   * @param props.features - Additional features for the component.
   * @param props.otherProps - Additional props for the component.
   * @returns - The rendered component.
   */
  export const One: {
    <Data extends unknown = any, Payload = any, Field = IField<Data, any>>(
      args: IOnePublicProps<Data, Payload, Field>,
    ): JSX.Element;
    displayName: string;
    /**
     * После написания формы можно включить строгую
     * проверку типов полей
     * <One.typed handler={...
     *     ^^^^^^
     */
    typed: {
      <
        Data_1 extends unknown = any,
        Payload_1 extends unknown = any,
        Field_1 = TypedField<Data_1, any>,
      >(
        props: IOnePublicProps<Data_1, Payload_1, Field_1>,
      ): JSX.Element;
      displayName: string;
    };
  };
  export const OneTyped: {
    <
      Data extends unknown = any,
      Payload extends unknown = any,
      Field = TypedField<Data, any>,
    >(
      props: IOnePublicProps<Data, Payload, Field>,
    ): JSX.Element;
    displayName: string;
  };
  export default One;
}

declare module "react-declarative-lite/components/One/slots" {
  export * from "react-declarative-lite/components/One/slots/CheckBoxSlot";
  export * from "react-declarative-lite/components/One/slots/ComboSlot";
  export * from "react-declarative-lite/components/One/slots/ItemsSlot";
  export * from "react-declarative-lite/components/One/slots/LineSlot";
  export * from "react-declarative-lite/components/One/slots/ProgressSlot";
  export * from "react-declarative-lite/components/One/slots/RadioSlot";
  export * from "react-declarative-lite/components/One/slots/RatingSlot";
  export * from "react-declarative-lite/components/One/slots/SliderSlot";
  export * from "react-declarative-lite/components/One/slots/SwitchSlot";
  export * from "react-declarative-lite/components/One/slots/TextSlot";
  export * from "react-declarative-lite/components/One/slots/TypographySlot";
  export * from "react-declarative-lite/components/One/slots/DateSlot";
  export * from "react-declarative-lite/components/One/slots/TimeSlot";
  export * from "react-declarative-lite/components/One/slots/FileSlot";
  export * from "react-declarative-lite/components/One/slots/ChooseSlot";
  export * from "react-declarative-lite/components/One/slots/CompleteSlot";
  export * from "react-declarative-lite/components/One/slots/YesNoSlot";
  export * from "react-declarative-lite/components/One/slots/DictSlot";
  export * from "react-declarative-lite/components/One/slots/TreeSlot";
  export * from "react-declarative-lite/components/One/slots/ButtonSlot";
}

declare module "react-declarative-lite/components/One/components/OneConfig" {
  export * from "react-declarative-lite/components/One/components/OneConfig/OneConfig";
  export { default } from "react-declarative-lite/components/One/components/OneConfig/OneConfig";
}

declare module "react-declarative-lite/components/One/config/createField" {
  import IEntity from "react-declarative-lite/model/IEntity";
  /**
   * Фабрика для создания полей
   */
  export const createField: <Data extends unknown = any>(
    entity: IEntity<Data, any>,
    currentPath?: string,
  ) => JSX.Element;
  export default createField;
}

declare module "react-declarative-lite/components/One/components/makeField" {
  export * from "react-declarative-lite/components/One/components/makeField/makeField";
  export { default } from "react-declarative-lite/components/One/components/makeField/makeField";
}

declare module "react-declarative-lite/components/One/config/createLayout" {
  import * as React from "react";
  import IEntity from "react-declarative-lite/model/IEntity";
  /**
   * Фабрика для создания компоновок
   */
  export const createLayout: <Data extends unknown = any>(
    entity: IEntity<Data, any>,
    children: React.ReactNode,
    currentPath?: string,
  ) => JSX.Element;
  export default createLayout;
}

declare module "react-declarative-lite/components/One/components/makeLayout" {
  export * from "react-declarative-lite/components/One/components/makeLayout/makeLayout";
  export { default } from "react-declarative-lite/components/One/components/makeLayout/makeLayout";
}

declare module "react-declarative-lite/components/One/context/MenuProvider" {
  import * as React from "react";
  import { IParams } from "react-declarative-lite/components/One/components/common/MenuItems";
  import type TSubject from "react-declarative-lite/model/TSubject";
  /**
   * Represents an interface for a context object.
   */
  interface IContext {
    createContextMenu: (
      params: IParams,
    ) => React.MouseEventHandler<HTMLDivElement>;
    requestSubject: TSubject<void>;
  }
  /**
   * Interface for the props of the MenuProvider component.
   */
  interface IMenuProviderProps {
    children: React.ReactNode;
  }
  /**
   * MenuProvider is a React component that provides menu related functionality to its children components.
   *
   * @param props - The props for the MenuProvider component.
   * @returns - The rendered JSX element.
   */
  export const MenuProvider: ({ children }: IMenuProviderProps) => JSX.Element;
  export const useOneMenu: () => IContext;
  export default MenuProvider;
}

declare module "react-declarative-lite/components/One/context/PropsProvider" {
  import * as React from "react";
  import IField from "react-declarative-lite/model/IField";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IOneProps from "react-declarative-lite/model/IOneProps";
  /**
   * Represents the props for the `PropsProvider` component.
   */
  interface IPropsProviderProps<
    Data extends IAnything = IAnything,
    Field extends IField<Data> = IField<Data>,
  > extends IOneProps<Data, Field> {
    children: React.ReactNode;
  }
  /**
   * Provider component for providing props through context.
   *
   * @template Data - The data type for the props being provided.
   * @template Field - The field type for the props being provided.
   *
   * @param props - The props for the PropsProvider component.
   * @param props.children - The children to be rendered.
   *
   * @returns - The rendered PropsProvider component.
   */
  export const PropsProvider: <
    Data extends unknown = any,
    Field extends IField<Data, any> = IField<Data, any>,
  >({
    children,
    ...props
  }: IPropsProviderProps<Data, Field>) => JSX.Element;
  export const useOneProps: <Data extends unknown = any>() => IOneProps<
    Data,
    any,
    IField<Data, any>
  >;
  export default PropsProvider;
}

declare module "react-declarative-lite/components/One/context/StateProvider" {
  import * as React from "react";
  import IField from "react-declarative-lite/model/IField";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IOneProps from "react-declarative-lite/model/IOneProps";
  /**
   * Interface representing the props for a StateProvider component.
   *
   * @template Data - The type of the data object.
   * @template Payload - The type of the payload object.
   * @template Field - The type of the field object.
   */
  interface IStateProviderProps<
    Data = IAnything,
    Payload = IAnything,
    Field extends IField<Data, Payload> = IField<Data, Payload>,
  > extends IOneProps<Data, Payload, Field> {
    payload: Payload;
    children: React.ReactElement;
  }
  /**
   * Represents the interface for a state object.
   *
   * @template Data The type of data held by the state object.
   */
  interface IState<Data = IAnything> {
    object: Data | null;
    setObject: (data: Data, invalidMap: Record<string, boolean>) => void;
    getObjectRef: () => Data;
    changeObject: (data: Data) => void;
  }
  /**
   * StateProvider is a component that manages the state of an object and provides it to its children components through a context.
   * It takes in various props to configure its behavior.
   *
   * @template Data - The type of the object being managed by the StateProvider.
   * @template Payload - The type of the payload used for fetching the object.
   * @template Field - The type of the field used for validating the object.
   *
   * @param props - The props used to configure the StateProvider.
   * @param props.children - The children components to be rendered within the StateProvider.
   * @param props.fields - The fields used for validating the object.
   * @param props.features - The features used for manipulating the object.
   * @param props.change - The function called when the object is changed.
   * @param props.fallback - The function called when the object cannot be resolved.
   * @param props.handler - The function used for fetching the object.
   * @param props.payload - The payload used for fetching the object.
   * @param props.loadStart - The function called when the object starts loading.
   * @param props.loadEnd - The function called when the object finishes loading.
   *
   */
  export const StateProvider: <
    Data extends unknown,
    Payload extends unknown,
    Field extends IField<Data, Payload> = IField<Data, Payload>,
  >({
    children,
    ...otherProps
  }: IStateProviderProps<Data, Payload, Field>) => JSX.Element;
  export const useOneState: <Data extends unknown>() => IState<Data>;
  export default StateProvider;
}

declare module "react-declarative-lite/components/One/context/PayloadProvider" {
  import * as React from "react";
  import IOneProps from "react-declarative-lite/model/IOneProps";
  /**
   * An interface representing the props for the PayloadProvider component.
   */
  interface IPayloadProviderProps {
    children: React.ReactNode;
    payload?: IOneProps["payload"];
  }
  /**
   * PayloadProvider component
   * @param children - The child components to render within the provider
   * @param payload - The payload value to be provided by the provider
   * @returns - The rendered component with payload context provider
   */
  export const PayloadProvider: ({
    children,
    payload,
  }: IPayloadProviderProps) => JSX.Element;
  export const useOnePayload: () => any;
  export default PayloadProvider;
}

declare module "react-declarative-lite/components/One/context/FeatureProvider" {
  import * as React from "react";
  import IOneProps from "react-declarative-lite/model/IOneProps";
  /**
   * Represents the properties of the FeatureProvider component.
   */
  interface IFeatureProviderProps {
    children: React.ReactNode;
    features?: IOneProps["features"];
  }
  /**
   * Represents a feature provider.
   * @param props - The feature provider props.
   * @param props.children - The child components.
   * @param [props.features=ARRAY_VALUE] - The array of features.
   * @returns - The feature provider component.
   */
  export const FeatureProvider: ({
    children,
    features,
  }: IFeatureProviderProps) => JSX.Element;
  export const useOneFeatures: () => string[];
  export default FeatureProvider;
}

declare module "react-declarative-lite/components/One/context/RadioProvider" {
  export const RadioProvider: ({
      children,
      initialState,
      onChange,
    }: {
      onChange?: ((state: Record<string, string | null>) => void) | undefined;
      children: import("react").ReactNode;
      initialState:
        | Record<string, string | null>
        | (() => Record<string, string | null>);
    }) => JSX.Element,
    useOneRadio: () => readonly [
      Record<string, string | null>,
      (
        state:
          | Record<string, string | null>
          | ((
              prevState: Record<string, string | null>,
            ) => Record<string, string | null>),
      ) => void,
    ];
  export default RadioProvider;
}

declare module "react-declarative-lite/components/One/context/OneContextProvider" {
  import * as React from "react";
  import IOneProps from "react-declarative-lite/model/IOneProps";
  export const DEFAULT_VALUE: {};
  /**
   * Interface that represents the props for the `OneContextProvider` component.
   */
  interface IOneContextProviderProps {
    context: IOneProps["context"];
    children: React.ReactNode;
  }
  /**
   * OneContextProvider function provides a mutable context to its component fields with change detection.
   * @param props - The props object containing the following properties:
   * @param props.context - The context value to be provided to child components. Default value is set to DEFAULT_VALUE.
   * @param props.children - The child components to be wrapped by the context provider.
   * @returns - The wrapped child components with the provided context value.
   */
  export const OneContextProvider: ({
    context,
    children,
  }: IOneContextProviderProps) => JSX.Element;
  export const useOneContext: () => Record<string, any>;
  export default OneContextProvider;
}

declare module "react-declarative-lite/components/One/other/OtherComboSlot" {
  import { IComboSlot } from "react-declarative-lite/components/One/slots/ComboSlot";
  /**
   * OtherComboSlot is a component that renders a combo slot with autocomplete functionality.
   *
   * @param value - The value of the combo slot.
   * @param disabled - Indicates whether the combo slot is disabled.
   * @param readonly - Indicates whether the combo slot is readonly.
   * @param description - The description of the combo slot.
   * @param placeholder - The placeholder text for the combo slot.
   * @param outlined - Indicates whether the combo slot should be outlined.
   * @param itemList - The list of item objects for the combo slot.
   * @param title - The title of the combo slot.
   * @param dirty - Indicates whether the combo slot has been modified.
   * @param invalid - Indicates whether the combo slot is invalid.
   * @param tr - A translation function to translate strings.
   * @param onChange - The callback function when the combo slot value changes.
   * @returns - The rendered combo slot component.
   */
  export const OtherComboSlot: ({
    value,
    disabled,
    readonly,
    description,
    placeholder,
    outlined,
    itemList,
    title,
    dirty,
    invalid,
    tr,
    onChange,
  }: IComboSlot) => JSX.Element;
  export default OtherComboSlot;
}

declare module "react-declarative-lite/components/One/other/OtherItemsSlot" {
  import { IItemsSlot } from "react-declarative-lite/components/One/slots/ItemsSlot";
  /**
   * Represents an input field for selecting multiple items from a list.
   *
   * @param OtherItemsSlot - The configuration object for the OtherItemsSlot component.
   * @param OtherItemsSlot.value - The current selected value(s) for the input field.
   * @param OtherItemsSlot.disabled - Determines if the input field is disabled or not.
   * @param OtherItemsSlot.readonly - Determines if the input field is read-only or not.
   * @param OtherItemsSlot.description - The description text for the input field.
   * @param OtherItemsSlot.placeholder - The input field's placeholder text.
   * @param [OtherItemsSlot.outlined=false] - Determines if the input field is outlined or not.
   * @param [OtherItemsSlot.itemList=[]] - The list of items to be displayed in the autocomplete dropdown.
   * @param OtherItemsSlot.dirty - Indicates if the input field has been modified.
   * @param OtherItemsSlot.invalid - Indicates if the input field's value is not valid.
   * @param OtherItemsSlot.title - The title of the input field.
   * @param [OtherItemsSlot.tr=(s) => s.toString()] - The translation function for the labels in the dropdown.
   * @param OtherItemsSlot.onChange - The event handler function for when the selected value(s) change.
   *
   * @returns - The OtherItemsSlot component.
   */
  export const OtherItemsSlot: ({
    value,
    disabled,
    readonly,
    description,
    placeholder,
    outlined,
    itemList,
    dirty,
    invalid,
    title,
    tr,
    onChange,
  }: IItemsSlot) => JSX.Element;
  export default OtherItemsSlot;
}

declare module "react-declarative-lite/components/One/config/isBaseline" {
  import FieldType from "react-declarative-lite/model/FieldType";
  import IField from "react-declarative-lite/model/IField";
  /**
   * Set of FieldType values representing the baseline fields.
   */
  export const baselineFields: Set<FieldType>;
  /**
   * Для поля нужно проверить флаги и наличие в списке. Флаги baseline компоновок
   * действуют только на потомков и на родительский элемент не распространяются
   */
  export const isBaselineForField: (field: IField) => boolean;
  export const isBaseline: (field: IField) => boolean;
  export default isBaseline;
}

declare module "react-declarative-lite/components/One/config/isBaselineSimple" {
  import IField from "react-declarative-lite/model/IField";
  export const isBaselineSimple: ({ noBaseline }: IField) => boolean;
  export default isBaselineSimple;
}

declare module "react-declarative-lite/components/NoSsr/NoSsr" {
  import * as React from "react";
  /**
   * Interface for props of a component that should not be rendered on the server side.
   * @interface INoSsrProps
   */
  interface INoSsrProps {
    ServerView?: React.ComponentType<any>;
    children?: React.ReactNode;
  }
  /**
   * Represents a state.
   * @interface State
   */
  interface State {
    canRender: boolean;
  }
  /**
   * Represents a component that handles server-side rendering (SSR) and client-side rendering (CSR) conditionally.
   */
  export class NoSsr extends React.Component<INoSsrProps, State> {
    constructor(props: INoSsrProps);
    componentDidMount: () => void;
    /**
     * Renders the content based on the current state.
     *
     * @returns The rendered content.
     */
    render: () => JSX.Element;
  }
  export default NoSsr;
}

declare module "react-declarative-lite/components/ActionButton/ActionButton" {
  import * as React from "react";
  import { ButtonProps } from "@mui/material/Button";
  /**
   * Represents a component that displays a loading indicator and content.
   *
   * @param props - The properties of the component.
   * @param props.children - The content to be displayed.
   * @param props.loading - Whether or not to display the loading indicator.
   *
   * @returns The rendered component.
   */
  const ProgressDefault: ({
    loading,
    children,
  }: {
    children: React.ReactNode;
    loading: boolean;
  }) => JSX.Element;
  /**
   * Represents the properties for an ActionButton component.
   * @interface
   */
  interface IActionButtonProps
    extends Omit<
      ButtonProps,
      keyof {
        onClick: never;
      }
    > {
    Progress?: typeof ProgressDefault;
    onLoadStart?: () => void;
    onLoadEnd?: (isOk: boolean) => void;
    onClick?: (
      event: React.MouseEvent<HTMLButtonElement, MouseEvent>,
    ) => void | Promise<void>;
    fallback?: (e: Error) => void;
    throwError?: boolean;
  }
  /**
   * Represents an action button component.
   *
   * @component
   * @param props - The component props.
   * @param [props.Progress=ProgressDefault] - The progress component to show when the button is loading.
   * @param [props.onClick=()=>{}] - The function to be called when the button is clicked.
   * @param [props.onLoadStart] - The function to be called when the loading starts.
   * @param [props.onLoadEnd] - The function to be called when the loading ends.
   * @param [props.fallback] - The function to be called when an error occurs and throwError is false.
   * @param [props.children] - The content to be rendered inside the button.
   * @param [props.disabled] - Whether the button is disabled.
   * @param [props.throwError=false] - Whether to throw an error when an exception occurs.
   * @param [props.variant="outlined"] - The button style variant.
   *
   * @returns The rendered component.
   */
  export const ActionButton: ({
    Progress,
    onClick,
    onLoadStart,
    onLoadEnd,
    fallback,
    children,
    disabled,
    throwError,
    variant,
    ...otherProps
  }: IActionButtonProps) => JSX.Element;
  export default ActionButton;
}

declare module "react-declarative-lite/components/ActionIcon/ActionIcon" {
  import * as React from "react";
  import { IconButtonProps } from "@mui/material/IconButton";
  /**
   * Props for the ActionIcon component.
   *
   * @typedef IActionIconProps
   * @property [onLoadStart] - A callback function triggered when the icon starts loading.
   * @property [onLoadEnd] - A callback function triggered when the icon finishes loading.
   * @property [onClick] - A callback function triggered when the icon is clicked.
   * @property [fallback] - A callback function triggered when an error occurs while loading the icon.
   * @property [throwError] - Indicates whether an error should be thrown if the icon fails to load.
   * @property [size] - The size of the icon.
   * @property [thickness] - The thickness of the icon.
   * @property [noProgress] - Indicates whether to hide the progress indicator during loading.
   */
  interface IActionIconProps
    extends Omit<
      IconButtonProps,
      keyof {
        onClick: never;
        size: never;
      }
    > {
    onLoadStart?: () => void;
    onLoadEnd?: (isOk: boolean) => void;
    onClick?: (
      event: React.MouseEvent<HTMLButtonElement, MouseEvent>,
    ) => void | Promise<void>;
    fallback?: (e: Error) => void;
    throwError?: boolean;
    size?: number;
    thickness?: number;
    noProgress?: boolean;
  }
  /**
   * Represents an action icon component.
   * @typedef ActionIcon
   * @property className - The class name for the component.
   * @property style - The inline style for the component.
   * @property sx - The custom styling for the component using SX prop provided by Emotion.
   * @property noProgress - Determines if the progress spinner should be shown.
   * @property throwError - Determines if an error should be thrown in case of an exception.
   * @property disabled - Determines if the component is disabled.
   * @property onLoadStart - The callback function called when the action starts loading.
   * @property onLoadEnd - The callback function called when the action finishes loading.
   * @property onClick - The callback function called when the icon is clicked.
   * @property fallback - The fallback function called in case of an error and throwError is false.
   * @property children - The child components of the icon.
   * @property size - The size of the icon.
   * @property thickness - The thickness of the circular progress spinner.
   * @property otherProps - Other props to be passed to the IconButton component.
   */
  export const ActionIcon: ({
    className,
    style,
    sx,
    noProgress,
    throwError,
    disabled,
    onLoadStart,
    onLoadEnd,
    onClick,
    fallback,
    children,
    size,
    thickness,
    ...otherProps
  }: IActionIconProps) => JSX.Element;
  export default ActionIcon;
}

declare module "react-declarative-lite/components/SearchView/SearchView" {
  import ISearchViewProps from "react-declarative-lite/components/SearchView/model/ISearchViewProps";
  /**
   * SearchView component documentation
   *
   * @template Data - The data type of the component
   * @template Payload - The payload type of the component
   *
   * @param props - The component props
   * @param [props.className] - The class name for the component
   * @param [props.style] - The inline style for the component
   * @param [props.sx] - The sx prop for the component (sx prop is a shorthand for sx={{}} in styled components)
   * @param [props.type="text"] - The type of the input field
   * @param [props.mode="text"] - The input mode of the input field
   * @param [props.variant="standard"] - The variant of the input field
   * @param [props.pattern] - The pattern attribute of the input field
   * @param [props.value] - The value of the component
   * @param [props.label] - The label for the input field
   * @param [props.placeholder] - The placeholder for the input field
   * @param [props.searchText] - The search text for the component
   * @param [props.changeSubject] - The change subject for the component
   * @param [props.onChange=() => undefined] - The change event handler for the value
   * @param [props.onTextChange=() => undefined] - The change event handler for the search text
   * @param [props.delay=DEFAULT_DELAY] - The delay in milliseconds before executing a search
   * @param [props.limit=DEFAULT_LIMIT] - The maximum number of search results to return
   * @param [props.payload] - The payload for the search request
   * @param [props.autoComplete] - The autocomplete attribute for the input field
   * @param [props.fullWidth] - Whether the input field should take up the full width
   * @param [props.disabled] - Whether the input field should be disabled
   * @param [props.onCreate] - The callback to create a new item
   * @param [props.onLoadStart] - The callback when the search request starts
   * @param [props.onLoadEnd] - The callback when the search request ends
   * @param [props.fallback] - The fallback content to display during loading or error
   * @param props.handler - The search handler function
   * @param [props.inputRef] - The ref for the input field
   * @param [props.SearchItem=SearchItemDefault] - The component to render each search item
   * @param [props.SearchInput=SearchInputDefault] - The component to render the search input
   * @param [props.CreateButton=CreateButtonDefault] - The component to render the create button
   * @param [props.startAdornment=null] - The start adornment for the input field
   * @param [props.endAdornment=null] - The end adornment for the input field
   * @param [props.throwError] - Whether errors should be thrown or not
   * @param [props.otherProps] - Any other props that should be passed to the TextField component
   *
   * @returns The SearchView component
   */
  export const SearchView: <Data extends unknown = any, Payload = any>({
    className,
    style,
    sx,
    type,
    mode,
    variant,
    pattern,
    value,
    label,
    placeholder,
    searchText,
    changeSubject: upperChangeSubject,
    onChange,
    onTextChange,
    delay,
    limit,
    payload: upperPayload,
    autoComplete,
    fullWidth,
    disabled,
    onCreate,
    onLoadStart,
    onLoadEnd,
    fallback,
    handler,
    inputRef,
    SearchItem,
    SearchInput,
    CreateButton,
    startAdornment,
    endAdornment,
    throwError,
    ...otherProps
  }: ISearchViewProps<Data, Payload>) => JSX.Element;
  export default SearchView;
}

declare module "react-declarative-lite/components/InfiniteView/InfiniteView" {
  import * as React from "react";
  import { BoxProps } from "@mui/material/Box";
  import { SxProps } from "@mui/material";
  import type TSubject from "react-declarative-lite/model/TSubject";
  /**
   * Represents the props for the InfiniteView component.
   */
  interface IInfiniteViewProps extends BoxProps {
    withScrollbar?: boolean;
    className?: string;
    style?: React.CSSProperties;
    sx?: SxProps<any>;
    children: React.ReactNode;
    hasMore?: boolean;
    loading?: boolean;
    scrollXSubject?: TSubject<number>;
    scrollYSubject?: TSubject<number>;
    onDataRequest?: (initial: boolean) => Promise<void> | void;
    onLoadStart?: () => void;
    onLoadEnd?: (isOk: boolean) => void;
    fallback?: (e: Error) => void;
    throwError?: boolean;
  }
  /**
   * InfiniteView component
   * @param props - Component props
   * @param props.className - Custom CSS class name
   * @param props.style - Custom inline styles
   * @param props.sx - SX prop from theme-ui
   * @param [props.loading=false] - Loading state of the component
   * @param [props.throwError=false] - Whether or not to throw errors
   * @param [props.hasMore=true] - Whether there is more data to load
   * @param props.children - Child components to render
   * @param props.scrollXSubject - Subject for horizontal scroll position
   * @param props.scrollYSubject - Subject for vertical scroll position
   * @param props.onDataRequest - Callback function to request data
   * @param props.onLoadStart - Callback function called when data loading starts
   * @param props.onLoadEnd - Callback function called when data loading ends
   * @param props.fallback - Fallback component to render in case of error
   * @returns Rendered component
   */
  export const InfiniteView: ({
    withScrollbar,
    className,
    style,
    sx,
    loading: upperLoading,
    throwError,
    hasMore,
    children: upperChildren,
    scrollXSubject: upperScrollXSubject,
    scrollYSubject: upperScrollYSubject,
    onDataRequest,
    onLoadStart,
    onLoadEnd,
    fallback,
    ...otherProps
  }: IInfiniteViewProps) => JSX.Element;
  export default InfiniteView;
}

declare module "react-declarative-lite/components/VirtualView/VirtualView" {
  import * as React from "react";
  import { BoxProps } from "@mui/material/Box";
  import { TSubject } from "react-declarative-lite/utils/rx/Subject";
  export const ROOT_ELEMENT = "virtual-view-root";
  export const CHILD_ELEMENT = "virtual-view-child";
  /**
   * Represents the props for the VirtualView component.
   * @interface
   * @extends BoxProps
   */
  export interface IVirtualViewProps
    extends Omit<
      BoxProps,
      keyof {
        ref: never;
      }
    > {
    withScrollbar?: boolean;
    loading?: boolean;
    hasMore?: boolean;
    minRowHeight?: number;
    bufferSize?: number;
    children: React.ReactNode;
    scrollXSubject?: TSubject<number>;
    scrollYSubject?: TSubject<number>;
    onDataRequest?: (initial: boolean) => Promise<void> | void;
    onLoadStart?: () => void;
    onLoadEnd?: (isOk: boolean) => void;
    fallback?: (e: Error) => void;
    throwError?: boolean;
  }
  /**
   * VirtualView component
   *
   * @typedef IVirtualViewProps - virtual view props
   * @property className - CSS class name
   * @property sx - custom styles
   * @property withScrollbar - flag indicating if scrollbar is visible
   * @property minRowHeight - minimum row height (default: DEFAULT_MIN_HEIGHT)
   * @property bufferSize - number of additional rows to render (default: DEFAULT_BUFFER_SIZE)
   * @property children - child elements
   * @property hasMore - flag indicating if there is more data to load (default: true)
   * @property loading - flag indicating if data is currently being loaded (default: false)
   * @property onDataRequest - function to request more data
   * @property onLoadStart - function called when data loading starts
   * @property onLoadEnd - function called when data loading ends
   * @property fallback - function called when an error occurs during data loading
   * @property scrollXSubject - scroll x subject
   * @property scrollYSubject - scroll y subject
   * @property throwError - flag indicating if errors should be thrown (default: false)
   * @property otherProps - other props
   */
  export const VirtualView: {
    ({
      className,
      sx,
      withScrollbar,
      minRowHeight,
      bufferSize: upperBufferSize,
      children: upperChildren,
      hasMore,
      loading: upperLoading,
      onDataRequest,
      onLoadStart,
      onLoadEnd,
      fallback,
      scrollXSubject: upperScrollXSubject,
      scrollYSubject: upperScrollYSubject,
      throwError,
      ...otherProps
    }: IVirtualViewProps): JSX.Element;
    /**
     * Virtualize is a method that helps in optimizing rendering performance by rendering only the visible elements in a view, using virtualization technique.
     */
    virtualize<T extends object = any>(
      OriginalComponent: React.ComponentType<T & IVirtualized>,
    ): React.ForwardRefExoticComponent<
      React.PropsWithoutRef<T> & React.RefAttributes<HTMLDivElement>
    >;
  };
  /**
   * Interface representing a virtualized component.
   * @interface
   * @property className - The class name of the component. This property should not be used.
   * @property style - The style of the component. This property should not be used.
   * @property ref - The ref of the component. This property should not be used.
   */
  interface IVirtualized {
    className?: never;
    style?: never;
    ref?: never;
  }
  export default VirtualView;
}

declare module "react-declarative-lite/components/TreeView/TreeView" {
  import { TextFieldProps } from "@mui/material/TextField";
  import INode from "react-declarative-lite/components/TreeView/model/INode";
  /**
   * Represents the properties for the ITreeView component.
   *
   * @typedef ITreeViewProps
   * @property [value] - The selected values in the tree view.
   * @property [readOnly=false] - Specifies whether the tree view is read-only or not.
   * @property [loading=false] - Specifies whether the tree view is in loading state or not.
   * @property items - The nodes to render in the tree view.
   * @property [onChange] - The function to be called when the value in the tree view changes. It accepts a single parameter which is the new selected value or null.
   * @property [TextFieldProps] - The additional properties for the TextField component.
   */
  type ITreeViewProps = {
    value?: string[] | null;
    readOnly?: boolean;
    loading?: boolean;
    items: INode[];
    onChange?: (value: string[] | null) => void;
  } & Omit<
    TextFieldProps,
    keyof {
      onChange: never;
    }
  >;
  /**
   * Represents a TreeView component.
   *
   * @param className - The class name of the component.
   * @param style - The style object of the component.
   * @param sx - The sx object of the component.
   * @param loading - Indicates whether the component is in a loading state.
   * @param items - The items to be displayed in the TreeView.
   * @param value - The selected values in the TreeView.
   * @param onChange - The function to be called when the value of the TreeView changes.
   * @param textFieldProps - Additional props to be passed to the underlying TextField component.
   */
  export const TreeView: ({
    className,
    style,
    sx,
    disabled,
    loading,
    readOnly,
    items: upperItems,
    value: upperValue,
    onChange,
    ...textFieldProps
  }: ITreeViewProps) => JSX.Element;
  export default TreeView;
}

declare module "react-declarative-lite/components/Tile/Tile" {
  import ITileProps from "react-declarative-lite/components/Tile/model/ITileProps";
  /**
   * Tile component for displaying a list of items in a virtual view.
   *
   * @template Data - The type of data in each tile item.
   * @template Payload - The type of additional payload data.
   * @param props - The props for the Tile component.
   * @param [props.className] - The CSS class name for the Tile component.
   * @param [props.style] - The inline style for the Tile component.
   * @param [props.sx] - The sx prop for the Tile component (System UI).
   * @param props.data - The array of data items to be rendered.
   * @param props.loading - Indicates if the tile list is currently loading data.
   * @param props.hasMore - Indicates if there are more items to load.
   * @param [props.bufferSize=10] - The number of items to render outside the visible area.
   * @param [props.minRowHeight=48] - The minimum height of each row item.
   * @param [props.payload={}] - Additional payload data to be passed to the TileItem component.
   * @param [props.rowColor=() => 'inherit'] - A function that returns the background color for each row item.
   * @param [props.rowKey="id"] - The key to use for identifying each row item.
   * @param [props.errorMessage] - The error message to display if there was an error loading data.
   * @param [props.children] - The child elements to be rendered within each TileItem component.
   * @param [props.onSkip] - A callback function to handle skipping to the next page of data.
   * @param [props.onButtonSkip] - A callback function to handle skipping to the next page of data when a button is clicked.
   * @param [props.onItemClick] - A callback function to handle when a row item is clicked.
   * @param [props.onSelectedRows] - A callback function to handle when a row item is selected.
   * @param [props.selectedRows] - The array of data items that are currently selected.
   * @param [props.selectionMode] - The selection mode for the Tile component (e.g., "single", "multiple").
   * @param [props.recomputeSubject] - The subject(s) to trigger recomputation of row heights.
   * @param [props.rowMark] - The key to use for identifying each row mark.
   * @returns The Tile component.
   */
  export const Tile: <Data extends unknown = any, Payload = any>({
    className,
    style,
    sx,
    itemSx,
    data,
    loading,
    hasMore,
    mode,
    bufferSize,
    minRowHeight,
    payload: upperPayload,
    rowKey,
    noDataLabel,
    errorMessage,
    children,
    onSkip,
    onButtonSkip,
    onItemClick,
    onSelectedRows,
    selectedRows,
    selectionMode,
    recomputeSubject,
    scrollXSubject,
    scrollYSubject,
    withHeader,
    headerLabel,
    rowMark,
    rowColor,
  }: ITileProps<Data, Payload>) => JSX.Element;
  export default Tile;
}

declare module "react-declarative-lite/components/Tile/api/useOffsetPaginator" {
  import type TSubject from "react-declarative-lite/model/TSubject";
  import RowData from "react-declarative-lite/components/Tile/model/RowData";
  /**
   * Represents the parameters required to configure a data handler for fetching and processing data.
   *
   * @template Data - The type of data to be handled.
   */
  interface IParams<Data = RowData> {
    reloadSubject?: TSubject<void>;
    initialData?: Data[];
    handler: (
      limit: number,
      offset: number,
      initial: boolean,
      currentRows: Data[],
    ) => Data[] | Promise<Data[]>;
    limit?: number;
    delay?: number;
    onLoadStart?: () => void;
    onLoadEnd?: (isOk: boolean) => void;
    fallback?: (error: Error) => void;
    throwError?: boolean;
  }
  /**
   * Implements an offset-based pagination logic for fetching and managing data.
   *
   * @template Data - The type of the data to be paginated, extending RowData.
   *
   * @param params - The parameters for configuring the pagination logic.
   * @param params.reloadSubject - The reload subject used to trigger a data reload.
   * @param params.initialData - The initial data to be displayed.
   * @param params.handler - The function for fetching more data.
   * @param params.limit - The maximum number of items to be fetched per request.
   * @param params.delay - The delay (in milliseconds) between requests.
   * @param queryProps - Additional query properties to be passed to the handler function.
   *
   * @returns - An object containing the paginated data and various utility functions.
   * @returns data - The paginated data.
   * @returns setData - A function to update the paginated data.
   * @returns offset - The offset of the current page.
   * @returns hasMore - A flag indicating if there are more items to load.
   * @returns loading - A flag indicating if a request is currently loading.
   * @returns error - The error object, if an error occurred during the request.
   * @returns onSkip - A function to skip to the next page.
   * @returns reloadSubject - The reload subject used to trigger a data reload.
   * @returns clear - A function to clear the paginated data and reset the pagination state.
   */
  export const useOffsetPaginator: <Data extends unknown = any>({
    reloadSubject: upperReloadSubject,
    initialData: upperInitialData,
    handler,
    limit,
    delay,
    ...queryProps
  }: IParams<Data>) => {
    data: Data[];
    setData: (data: Data[] | ((prevData: Data[]) => Data[])) => void;
    offset: number;
    hasMore: boolean;
    loading: boolean;
    error: boolean;
    onSkip: import("../../../hooks/useSinglerunAction").IExecute<void, boolean>;
    reloadSubject: TSubject<void>;
    clear: () => void;
  };
  export default useOffsetPaginator;
}

declare module "react-declarative-lite/components/Tile/api/useCursorPaginator" {
  import type TSubject from "react-declarative-lite/model/TSubject";
  import RowData from "react-declarative-lite/components/Tile/model/RowData";
  /**
   * Interface representing the parameters for fetching data.
   * @template Data - Type of data
   */
  interface IParams<Data = RowData> {
    reloadSubject?: TSubject<void>;
    initialData?: Data[];
    handler: (
      cursor: string | null,
      initial: boolean,
      limit: number,
      currentRows: Data[],
    ) => Data[] | Promise<Data[]>;
    limit?: number;
    delay?: number;
    onLoadStart?: () => void;
    onLoadEnd?: (isOk: boolean) => void;
    fallback?: (error: Error) => void;
    throwError?: boolean;
  }
  /**
   * A function that handles pagination using cursor-based pagination technique.
   *
   * @template Data The type of data in each row.
   * @param params - The input parameters.
   * @param params.reloadSubject - The reload subject used to trigger a reload.
   * @param [params.initialData=[]] - The initial data for the paginator.
   * @param params.handler - The handler function for fetching more data.
   * @param [params.delay=SCROLL_REQUEST_DELAY] - The delay between each scroll request.
   * @param [params.limit=DEFAULT_LIMIT] - The maximum number of rows to fetch at a time.
   * @param queryProps - Additional properties to be passed to the query.
   * @returns - An object containing the paginator data and functions.
   */
  export const useCursorPaginator: <Data extends unknown = any>({
    reloadSubject: upperReloadSubject,
    initialData: upperInitialData,
    handler,
    delay,
    limit,
    ...queryProps
  }: IParams<Data>) => {
    data: Data[];
    setData: (data: Data[] | ((prevData: Data[]) => Data[])) => void;
    hasMore: boolean;
    lastCursor: any;
    loading: boolean;
    error: boolean;
    onSkip: import("../../../hooks/useSinglerunAction").IExecute<void, boolean>;
    reloadSubject: import("../../..").Subject<void>;
  };
  export default useCursorPaginator;
}

declare module "react-declarative-lite/components/Tile/api/useGridAction" {
  import IAnything from "react-declarative-lite/model/IAnything";
  /**
   * Represents a class that defines parameters for data fetching and actions handling.
   * @template Data - The type of the data.
   */
  interface IParams<Data extends IAnything = IAnything> {
    fetchRow: (id: string) => Data | Promise<Data>;
    onAction?: (
      action: string,
      rows: Data[],
      deselectAll: () => void,
    ) => Promise<void> | void;
    onRowAction?: (
      action: string,
      row: Data,
      deselectAll: () => void,
    ) => Promise<void> | void;
    onLoadStart?: () => void;
    onSelectionChange?: (selectedRows: string[]) => void;
    selectedRows?: string[];
    onLoadEnd?: (isOk: boolean) => void;
    throwError?: boolean;
    fallback?: (e: Error) => void;
  }
  /**
   * Executes grid actions and row actions.
   *
   * @template Data - The type of data in the grid rows.
   * @param Object - The parameters for the useGridAction function.
   * @param Object.onLoadStart - A callback function executed when a grid action or row action is started.
   * @param Object.onLoadEnd - A callback function executed when a grid action or row action is completed or failed.
   * @param Object.throwError - A flag indicating whether to throw an error if a grid action or row action fails.
   * @param Object.fallback - A flag indicating whether to use a fallback solution if a grid action or row action fails.
   * @param Object.fetchRow - A function that fetches a row.
   * @param Object.onAction - A callback function executed when a grid action is performed. This function receives the action name, the rows to perform the action on, and a
   * deselectAll function to deselect all rows.
   * @param Object.onRowAction - A callback function executed when a row action is performed. This function receives the action name, the row to perform the action on, and a
   * deselectAll function to deselect all rows.
   * @returns An object containing the following properties:
   *   - deselectAll - A function that deselects all rows in the grid.
   *   - selectedRows - An array of selected rows in the grid.
   *   - gridProps - The grid properties.
   *   - commitAction - A function that commits a grid action. This function receives the action name and calls the onAction callback function with the selected rows.
   *   - commitRowAction - A function that commits a row action. This function receives the action name and the row and calls the onRowAction callback function.
   */
  export const useGridAction: <Data extends unknown = any>({
    onLoadStart,
    onLoadEnd,
    throwError,
    fallback,
    fetchRow,
    onAction,
    onRowAction,
    onSelectionChange,
    selectedRows: upperSelectedRows,
  }: IParams<Data>) => {
    readonly deselectAll: () => void;
    readonly selectedRows: string[];
    readonly gridProps: {
      readonly selectedRows: string[];
      readonly onSelectedRows: (rowIds: string[]) => void;
    };
    readonly commitAction: (p?: string | undefined) => Promise<void | null>;
    readonly commitRowAction: (
      action: string,
      row: Data,
    ) => Promise<void | null>;
  };
  export default useGridAction;
}

declare module "react-declarative-lite/components/Tile/api/useGridSelection" {
  /**
   * Represents the interface for the params.
   * @interface
   */
  interface IParams {
    selectedRows?: string[];
    onChange: (selectedRows: string[]) => void;
  }
  /**
   * Hook for managing grid selection.
   *
   * @returns - An object containing the following properties:
   *  - selectedRows: Array of selected row IDs.
   *  - gridProps: Object with properties for grid selection:
   *    - selectedRows: Array of selected row IDs.
   *    - onSelectedRows: Function to handle selected row IDs.
   *  - deselectAll: Function to clear all selected rows.
   */
  export const useGridSelection: ({
    selectedRows: defaultSelectedRows,
    onChange,
  }?: Partial<IParams>) => {
    readonly selectedRows: string[];
    readonly gridProps: {
      readonly selectedRows: string[];
      readonly onSelectedRows: (rowIds: string[]) => void;
    };
    readonly deselectAll: () => void;
    readonly setSelectedRows: import("react").Dispatch<
      import("react").SetStateAction<string[]>
    >;
  };
  export default useGridSelection;
}

declare module "react-declarative-lite/components/Tile/components/TileCheckbox" {
  import SelectionMode from "react-declarative-lite/model/SelectionMode";
  interface ITileCheckboxProps {
    isSelected: boolean;
    selectionMode: SelectionMode;
    toggleSelection: () => void;
    disabled?: boolean;
  }
  export const TileCheckbox: ({
    isSelected,
    selectionMode,
    toggleSelection,
    disabled,
  }: ITileCheckboxProps) => JSX.Element;
  export default TileCheckbox;
}

declare module "react-declarative-lite/components/Tile/model/TileMode" {
  /**
   * @enum {string} TileMode - Enumeration representing tile modes.
   * @readonly
   * @property Virtual - Virtual tile mode.
   * @property Intersection - Intersection tile mode.
   */
  export enum TileMode {
    Virtual = "virtual",
    Intersection = "intersection",
  }
  export default TileMode;
}

declare module "react-declarative-lite/components/Tile/model/ITile" {
  import IAnything from "react-declarative-lite/model/IAnything";
  /**
   * Represents a tile.
   * @template Data - The type of the data stored in the tile.
   * @template Payload - The type of the payload stored in the tile.
   */
  export interface ITile<Data = IAnything, Payload = IAnything> {
    data: Data;
    index: number;
    payload: Payload;
    isSelected: boolean;
    rowMark: string;
    toggleSelection: () => void;
  }
  export default ITile;
}

declare module "react-declarative-lite/components/Tile/model/ITileProps" {
  import { SxProps } from "@mui/material";
  import IAnything from "react-declarative-lite/model/IAnything";
  import SelectionMode from "react-declarative-lite/model/SelectionMode";
  import type TSubject from "react-declarative-lite/model/TSubject";
  import ITile from "react-declarative-lite/components/Tile/model/ITile";
  import TileMode from "react-declarative-lite/components/Tile/model/TileMode";
  /**
   * Represents the properties required for the `ITile` component.
   *
   * @template Data - The type of data used in the tile.
   * @template Payload - The type of payload used in the tile.
   */
  export interface ITileProps<Data = IAnything, Payload = IAnything> {
    withHeader?: boolean;
    headerLabel?: string;
    mode?: TileMode;
    noDataLabel?: string;
    className?: string;
    style?: React.CSSProperties;
    sx?: SxProps<any>;
    itemSx?: SxProps<any>;
    loading?: boolean;
    hasMore?: boolean;
    scrollYSubject?: TSubject<number>;
    scrollXSubject?: TSubject<number>;
    errorMessage?: string | null;
    bufferSize?: number;
    minRowHeight?: number;
    children: React.ComponentType<ITile<Data, Payload>>;
    rowKey?: string | number | symbol;
    payload?: Payload | (() => Payload);
    data: Data[];
    onSkip?: (initial: boolean) => void;
    onButtonSkip?: () => void;
    onItemClick?: (item: {
      data: Data;
      payload: Payload;
      isSelected: boolean;
      toggleSelection: () => void;
    }) => void;
    selectionMode?: SelectionMode;
    recomputeSubject?: TSubject<void>;
    rowMark?: ((row: Data) => string) | ((row: Data) => Promise<string>);
    rowColor?: ((row: Data) => string) | ((row: Data) => Promise<string>);
    onSelectedRows?: (rowIds: string[], initialChange: boolean) => void;
    selectedRows?: string[];
  }
  export default ITileProps;
}

declare module "react-declarative-lite/components/Async/Async" {
  import * as React from "react";
  import type TSubject from "react-declarative-lite/model/TSubject";
  /**
   * Represents the properties for an asynchronous component.
   * @template T - The type of the payload.
   */
  export interface IAsyncProps<T extends any = object> {
    loading?: boolean;
    reloadSubject?: TSubject<void>;
    children: (p: T) => Result | Promise<Result>;
    fallback?: (e: Error) => void;
    Loader?: React.ComponentType<any>;
    Error?: React.ComponentType<any>;
    onLoadStart?: () => void;
    onLoadEnd?: (isOk: boolean) => void;
    payload?: T;
    deps?: any[];
    throwError?: boolean;
  }
  type Result = React.ReactNode | void;
  /**
   * Async
   * @template T - The type of the payload data.
   * @param params - The parameters object.
   * @param params.reloadSubject - The subject used to trigger a reload of the async data.
   * @param params.loading - A boolean indicating whether the async data is currently being loaded.
   * @param params.children - The children component that renders the async data.
   * @param params.fallback - The fallback component to render in case of an error.
   * @param params.Loader - The loader component to render while the async data is being loaded.
   * @param params.Error - The error component to render in case of an error.
   * @param params.onLoadStart - A function to be called when the async data loading starts.
   * @param params.onLoadEnd - A function to be called when the async data loading ends.
   * @param params.payload - The payload data to be passed to the children component.
   * @param params.deps - The dependencies of the async data.
   * @param params.throwError - A boolean indicating whether to throw an error in case of an error or to fallback.
   * @returns - The rendered component.
   */
  export const Async: <T extends unknown = object>({
    reloadSubject: upperReloadSubject,
    loading: upperLoading,
    children,
    fallback,
    Loader,
    Error,
    onLoadStart,
    onLoadEnd,
    payload,
    deps,
    throwError,
  }: IAsyncProps<T>) => JSX.Element;
  export default Async;
}

declare module "react-declarative-lite/components/If/If" {
  import * as React from "react";
  /**
   * Represents the props for the IIf component.
   *
   * @template T - The type of the payload.
   */
  export interface IIfProps<T extends any = object> {
    Else?: React.ReactNode;
    Loading?: React.ReactNode;
    condition: boolean | ((payload: T) => boolean | Promise<boolean>);
    children: React.ReactNode;
    fallback?: (e: Error) => void;
    onLoadStart?: () => void;
    onLoadEnd?: (isOk: boolean) => void;
    payload?: T;
    deps?: any[];
    throwError?: boolean;
  }
  /**
   * A conditional rendering component with asynchronous support.
   *
   * @template T - The type of payload passed to the condition.
   * @param props - The props object.
   * @param props.Else - The content to render if the condition is false and not loading.
   * @param [props.Loading=props.Else] - The content to render while loading.
   * @param props.children - The content to render if the condition is true.
   * @param props.condition - The condition to evaluate. Can be a function that accepts the payload or a static value.
   * @param [props.fallback] - The function to call if an error occurs and `throwError` is false.
   * @param [props.onLoadStart] - The function to call when loading starts.
   * @param [props.onLoadEnd] - The function to call when loading ends. Receives a boolean indicating if the operation was successful.
   * @param [props.payload] - The payload to pass to the condition function.
   * @param [props.deps=[]] - The dependencies to include in the useEffect hook.
   * @param [props.throwError=false] - Whether to throw an error or call the fallback function if an error occurs.
   * @returns - The rendered content based on the condition and loading state.
   */
  export const If: <T extends unknown = object>({
    Else,
    Loading,
    children,
    condition,
    fallback,
    onLoadStart,
    onLoadEnd,
    payload,
    deps,
    throwError,
  }: IIfProps<T>) => JSX.Element;
  export default If;
}

declare module "react-declarative-lite/components/common/ItemModal/ItemModal" {
  import IField from "react-declarative-lite/model/IField";
  import IManaged from "react-declarative-lite/model/IManaged";
  import IAnything from "react-declarative-lite/model/IAnything";
  export interface IItemModalProps {
    _autofocusDelay?: number;
    type: Exclude<IField["type"], undefined>;
    onValueChange: Exclude<IManaged["onChange"], undefined>;
    value: IAnything;
    data: IAnything;
    payload: IAnything;
    title: IField["title"];
    placeholder: IField["placeholder"];
    tip: IField["tip"];
    tr: IField["tr"];
    keepRaw: IField["keepRaw"];
    itemList: IField["itemList"];
  }
  export const ItemModal: ({
    _autofocusDelay,
    type,
    data,
    payload,
    itemList,
    tip,
    tr,
    keepRaw,
    value,
    title,
    placeholder,
    onValueChange,
  }: IItemModalProps) => JSX.Element;
  export default ItemModal;
}

declare module "react-declarative-lite/components/One/components/SlotFactory/SlotFactory" {
  import * as React from "react";
  import ISlotFactoryContext from "react-declarative-lite/components/One/components/SlotFactory/ISlotFactoryContext";
  /**
   * Represents the properties for the ISlotFactory component.
   * @interface
   */
  interface ISlotFactoryProps extends Partial<ISlotFactoryContext> {
    children: React.ReactNode;
  }
  /**
   * SlotFactory function
   * @param param - Slots prop for SlotFactory
   * @param param.children - React node to be rendered as children
   * @returns React node containing the children with the provided slots
   */
  export const SlotFactory: ({
    children,
    ...currentSlots
  }: Partial<ISlotFactoryProps>) => JSX.Element;
  export default SlotFactory;
}

declare module "react-declarative-lite/components/One/components/SlotFactory/SlotContext" {
  import ISlotFactoryContext from "react-declarative-lite/components/One/components/SlotFactory/ISlotFactoryContext";
  /**
   * @description A list of default slots for a component.
   * @type {Array}
   * @property Checkbox Slot for a checkbox component.
   * @property Combo Slot for a comboBox component.
   * @property Items Slot for an items component.
   * @property Line Slot for a line component.
   * @property Radio Slot for a radio component.
   * @property Rating Slot for a rating component.
   * @property Progress Slot for a progress component.
   * @property Typography Slot for a typography component.
   * @property Text Slot for a text component.
   * @property Date Slot for a date component.
   * @property Time Slot for a time component.
   * @property Switch Slot for a switch component.
   * @property Slider Slot for a slider component.
   * @property File Slot for a file component.
   * @property Choose Slot for a choose component.
   * @property Complete Slot for a complete component.
   * @property YesNo Slot for a yes/no component.
   * @property Dict Slot for a dictionary component.
   * @property Tree Slot for a tree component.
   */
  export const defaultSlots: {
    CheckBox: ({
      disabled,
      onChange,
      title,
      value,
    }: import("../..").ICheckBoxSlot) => JSX.Element;
    Combo: ({
      value: upperValue,
      disabled,
      readonly,
      description,
      placeholder,
      outlined,
      itemList,
      loading: upperLoading,
      virtualListBox,
      watchItemList,
      labelShrink,
      noDeselect,
      freeSolo,
      title,
      dirty,
      invalid,
      incorrect,
      fieldReadonly,
      withContextMenu,
      tr,
      onChange,
    }: import("../..").IComboSlot) => JSX.Element;
    Items: ({
      value: upperValue,
      disabled,
      readonly,
      description,
      placeholder,
      outlined,
      itemList,
      freeSolo,
      noDeselect,
      loading: upperLoading,
      virtualListBox,
      watchItemList,
      labelShrink,
      dirty,
      invalid,
      incorrect,
      title,
      fieldReadonly,
      tr,
      onChange,
      withContextMenu,
    }: import("../..").IItemsSlot) => JSX.Element;
    Line: ({
      title,
      lineTransparent,
    }: import("../..").ILineSlot) => JSX.Element;
    Radio: ({
      disabled,
      onChange,
      title,
      readonly,
      radioValue,
      value,
      name,
    }: import("../..").IRadioSlot) => JSX.Element;
    Rating: ({
      value,
      disabled,
      readonly,
      onChange,
    }: import("../..").IRatingSlot) => JSX.Element;
    Progress: ({
      maxPercent,
      showPercentLabel,
      value,
    }: import("../..").IProgressSlot) => JSX.Element;
    Typography: ({
      value,
      placeholder,
      typoVariant,
      style,
    }: import("../..").ITypographySlot) => JSX.Element;
    Button: ({
      disabled,
      click,
      icon: Icon,
      title,
      value,
      placeholder,
      buttonVariant,
      buttonSize,
      buttonColor,
    }: import("../..").IButtonSlot) => JSX.Element;
    Text: ({
      invalid,
      incorrect,
      value,
      disabled,
      readonly,
      inputType,
      inputMode,
      inputPattern,
      labelShrink,
      description,
      outlined,
      title,
      leadingIcon: li,
      trailingIcon: ti,
      leadingIconClick: lic,
      trailingIconClick: tic,
      leadingIconTabIndex,
      trailingIconTabIndex,
      leadingIconRipple: lir,
      trailingIconRipple: tir,
      inputRows: rows,
      placeholder,
      inputAutocomplete: autoComplete,
      inputFormatterSymbol: symbol,
      inputFormatterAllowed: allowed,
      inputFormatterReplace: replace,
      inputFormatterTemplate: template,
      inputFormatter,
      dirty,
      loading,
      autoFocus,
      inputRef,
      onChange,
    }: import("../..").ITextSlot) => JSX.Element;
    Icon: ({
      disabled,
      click,
      icon: Icon,
      iconSize,
      iconColor,
      iconBackground,
    }: import("../../slots/IconSlot").IIconSlot) => JSX.Element;
    Date: ({
      invalid,
      incorrect,
      value: upperValue,
      disabled,
      readonly,
      description,
      outlined,
      title,
      placeholder,
      labelShrink,
      dirty,
      autoFocus,
      inputRef,
      onChange,
      withContextMenu,
    }: import("../..").IDateSlot) => JSX.Element;
    Time: ({
      invalid,
      incorrect,
      value: upperValue,
      disabled,
      readonly,
      description,
      outlined,
      title,
      labelShrink,
      placeholder,
      dirty,
      autoFocus,
      inputRef,
      onChange,
      withContextMenu,
    }: import("../..").ITimeSlot) => JSX.Element;
    Switch: ({
      disabled,
      value,
      onChange,
      title,
      switchNoColor,
      switchActiveLabel,
    }: import("../..").ISwitchSlot) => JSX.Element;
    Slider: ({
      value,
      onChange,
      leadingIcon: li,
      trailingIcon: ti,
      leadingIconClick: lic,
      trailingIconClick: tic,
      leadingIconTabIndex,
      trailingIconTabIndex,
      leadingIconRipple: lir,
      trailingIconRipple: tir,
      labelFormatSlider,
      stepSlider,
      disabled,
      readonly,
      maxSlider,
      minSlider,
    }: import("../..").ISliderSlot) => JSX.Element;
    File: ({
      invalid,
      incorrect,
      value,
      disabled,
      readonly,
      description,
      outlined,
      labelShrink,
      title,
      placeholder,
      dirty,
      loading: upperLoading,
      inputRef,
      onChange,
      fileAccept,
      name,
      upload,
      view,
    }: import("../..").IFileSlot) => JSX.Element;
    Choose: ({
      invalid,
      incorrect,
      value,
      disabled,
      readonly,
      description,
      outlined,
      title,
      placeholder,
      labelShrink,
      dirty,
      loading: upperLoading,
      inputRef,
      onChange,
      choose,
      tr,
    }: import("../..").IChooseSlot) => JSX.Element;
    Complete: ({
      invalid,
      incorrect,
      value,
      disabled,
      readonly,
      inputType,
      inputMode,
      inputPattern,
      labelShrink,
      description,
      outlined,
      keepRaw,
      title,
      placeholder,
      inputAutocomplete: autoComplete,
      dirty,
      loading: upperLoading,
      tip,
      tipSelect,
      autoFocus,
      onChange,
      fieldReadonly,
      inputFormatterSymbol: symbol,
      inputFormatterAllowed: allowed,
      inputFormatterReplace: replace,
      inputFormatterTemplate: template,
      inputFormatter,
      withContextMenu,
    }: import("../..").ICompleteSlot) => JSX.Element;
    YesNo: ({
      value: upperValue,
      disabled,
      readonly,
      description,
      placeholder,
      outlined,
      virtualListBox,
      labelShrink,
      noDeselect,
      title,
      tr,
      dirty,
      invalid,
      incorrect,
      onChange,
    }: import("../..").IYesNoSlot) => JSX.Element;
    Dict: ({
      invalid,
      incorrect,
      value,
      disabled,
      readonly,
      inputType,
      inputMode,
      inputPattern,
      inputAutocomplete,
      description,
      outlined,
      title,
      placeholder,
      dirty,
      loading,
      inputRef,
      onChange,
      dictLimit,
      dictDelay,
      dictOnText,
      dictOnItem,
      dictSearch,
      dictValue,
      dictSearchText,
      dictOnAppend,
      dictSearchItem,
      dictCreateButton,
      inputFormatterSymbol: symbol,
      inputFormatterAllowed: allowed,
      inputFormatterReplace: replace,
      inputFormatterTemplate: template,
      inputFormatter,
      leadingIcon: li,
      trailingIcon: ti,
      leadingIconClick: lic,
      trailingIconClick: tic,
      leadingIconRipple: lir,
      trailingIconRipple: tir,
      leadingIconTabIndex,
      trailingIconTabIndex,
    }: import("../..").IDictSlot) => JSX.Element;
    Tree: ({
      invalid,
      incorrect,
      value,
      disabled,
      readonly,
      description,
      outlined,
      title,
      placeholder,
      dirty,
      loading: upperLoading,
      onChange,
      itemTree,
    }: import("../..").ITreeSlot) => JSX.Element;
  };
  export const SlotContext: import("react").Context<ISlotFactoryContext>;
  export default SlotContext;
}

declare module "react-declarative-lite/components/One/components/SlotFactory/ISlotFactoryContext" {
  import { ComponentType } from "react";
  import { IProgressSlot } from "react-declarative-lite/components/One/slots/ProgressSlot";
  import { ICheckBoxSlot } from "react-declarative-lite/components/One/slots/CheckBoxSlot";
  import { IItemsSlot } from "react-declarative-lite/components/One/slots/ItemsSlot";
  import { IComboSlot } from "react-declarative-lite/components/One/slots/ComboSlot";
  import { ILineSlot } from "react-declarative-lite/components/One/slots/LineSlot";
  import { IRadioSlot } from "react-declarative-lite/components/One/slots/RadioSlot";
  import { IRatingSlot } from "react-declarative-lite/components/One/slots/RatingSlot";
  import { ITypographySlot } from "react-declarative-lite/components/One/slots/TypographySlot";
  import { ITextSlot } from "react-declarative-lite/components/One/slots/TextSlot";
  import { IDateSlot } from "react-declarative-lite/components/One/slots/DateSlot";
  import { ITimeSlot } from "react-declarative-lite/components/One/slots/TimeSlot";
  import { ISwitchSlot } from "react-declarative-lite/components/One/slots/SwitchSlot";
  import { ISliderSlot } from "react-declarative-lite/components/One/slots/SliderSlot";
  import { IFileSlot } from "react-declarative-lite/components/One/slots/FileSlot/IFileSlot";
  import { IChooseSlot } from "react-declarative-lite/components/One/slots/ChooseSlot";
  import { ICompleteSlot } from "react-declarative-lite/components/One/slots/CompleteSlot";
  import { IYesNoSlot } from "react-declarative-lite/components/One/slots/YesNoSlot";
  import { IDictSlot } from "react-declarative-lite/components/One/slots/DictSlot";
  import { ITreeSlot } from "react-declarative-lite/components/One/slots/TreeSlot";
  import { IButtonSlot } from "react-declarative-lite/components/One/slots/ButtonSlot";
  import { IIconSlot } from "react-declarative-lite/components/One/slots/IconSlot";
  /**
   * A context object that provides access to various component types used by the slot factory.
   * @typedef ISlotFactoryContext
   * @property CheckBox - The component type for Checkbox slots.
   * @property Combo - The component type for Combo slots.
   * @property YesNo - The component type for YesNo slots.
   * @property Items - The component type for Items slots.
   * @property Line - The component type for Line slots.
   * @property Progress - The component type for Progress slots.
   * @property Radio - The component type for Radio slots.
   * @property Rating - The component type for Rating slots.
   * @property Typography - The component type for Typography slots.
   * @property Text - The component type for Text slots.
   * @property Date - The component type for Date slots.
   * @property Time - The component type for Time slots.
   * @property Switch - The component type for Switch slots.
   * @property Slider - The component type for Slider slots.
   * @property File - The component type for File slots.
   * @property Choose - The component type for Choose slots.
   * @property Complete - The component type for Complete slots.
   * @property Dict - The component type for Dict slots.
   * @property Tree - The component type for Tree slots.
   */
  export interface ISlotFactoryContext {
    CheckBox: ComponentType<ICheckBoxSlot>;
    Button: ComponentType<IButtonSlot>;
    Icon: ComponentType<IIconSlot>;
    Combo: ComponentType<IComboSlot>;
    YesNo: ComponentType<IYesNoSlot>;
    Items: ComponentType<IItemsSlot>;
    Line: ComponentType<ILineSlot>;
    Progress: ComponentType<IProgressSlot>;
    Radio: ComponentType<IRadioSlot>;
    Rating: ComponentType<IRatingSlot>;
    Typography: ComponentType<ITypographySlot>;
    Text: ComponentType<ITextSlot>;
    Date: ComponentType<IDateSlot>;
    Time: ComponentType<ITimeSlot>;
    Switch: ComponentType<ISwitchSlot>;
    Slider: ComponentType<ISliderSlot>;
    File: ComponentType<IFileSlot>;
    Choose: ComponentType<IChooseSlot>;
    Complete: ComponentType<ICompleteSlot>;
    Dict: ComponentType<IDictSlot>;
    Tree: ComponentType<ITreeSlot>;
  }
  export default ISlotFactoryContext;
}

declare module "react-declarative-lite/components/common/Group/Group" {
  import * as React from "react";
  import {
    IManagedLayout,
    PickProp,
  } from "react-declarative-lite/model/IManaged";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IField from "react-declarative-lite/model/IField";
  /**
   * Represents the props for a group component.
   *
   * @template Data - The type of data accepted by the group component.
   * @template Payload - The type of payload used by the group component.
   * @extends IManagedLayout - Inherit props from IManagedLayout.
   */
  export interface IGroupProps<Data = IAnything, Payload = IAnything>
    extends IManagedLayout<Data, Payload> {
    style?: PickProp<IField<Data, Payload>, "style">;
    className?: PickProp<IField<Data, Payload>, "className">;
  }
  /**
   * Represents a private interface for a group component.
   *
   * @interface IGroupPrivate
   */
  interface IGroupPrivate {
    children: React.ReactNode;
    isItem?: boolean;
    isBaselineAlign?: boolean;
    onClick?: React.MouseEventHandler<HTMLDivElement>;
    onFocus?: () => void;
    onContextMenu?: React.MouseEventHandler<HTMLDivElement>;
  }
  /**
   * Group component
   *
   * @typedef Group
   * @property className - The class name of the group
   * @property columns - The columns property of the group
   * @property phoneColumns - The phone columns property of the group
   * @property tabletColumns - The tablet columns property of the group
   * @property desktopColumns - The desktop columns property of the group
   * @property children - The children of the group
   * @property isItem - Whether the group is an item
   * @property isBaselineAlign - Whether to align the group baseline
   * @property style - The style object of the group
   * @property columnsOverride - The columns override property of the group
   * @property sx - The sx property of the group
   * @property fieldRightMargin - The right margin of the field
   * @property fieldBottomMargin - The bottom margin of the field
   * @property onClick - The onClick event handler of the group
   * @property onFocus - The onFocus event handler of the group
   * @property onContextMenu - The onContextMenu event handler of the group
   * @property ...otherProps - Other props passed to the group
   * @property ref - The ref of the group
   *
   * @param Group - The Group component function
   * @returns The rendered component
   */
  export const Group: {
    (
      {
        className,
        columns,
        phoneColumns,
        tabletColumns,
        desktopColumns,
        children,
        isItem,
        isBaselineAlign,
        style,
        columnsOverride,
        sx,
        fieldRightMargin,
        fieldBottomMargin,
        onClick,
        onFocus,
        onContextMenu,
        ...otherProps
      }: IGroupProps & IGroupPrivate,
      ref: React.Ref<HTMLDivElement>,
    ): JSX.Element;
    displayName: string;
  };
  const _default: React.ForwardRefExoticComponent<
    IGroupProps<any, any> & IGroupPrivate & React.RefAttributes<HTMLDivElement>
  >;
  export default _default;
}

declare module "react-declarative-lite/components/common/Outline/Outline" {
  import * as React from "react";
  import { PickProp } from "react-declarative-lite/model/IManaged";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IField from "react-declarative-lite/model/IField";
  /**
   * Interface for the `Outline` component props.
   *
   * @template Data - The data type of the component.
   * @template Payload - The payload type of the component.
   */
  export interface IOutlineProps<Data = IAnything, Payload = IAnything> {
    className?: PickProp<IField<Data, Payload>, "className">;
    style?: PickProp<IField<Data, Payload>, "style">;
  }
  /**
   * Interface representing a private outline.
   *
   * @template Data - The data type used in the outline.
   * @template Payload - The payload type used in the outline.
   */
  interface IOutlinePrivate<Data = IAnything, Payload = IAnything> {
    children: React.ReactNode;
    columnsOverride?: PickProp<IField<Data, Payload>, "columnsOverride">;
    sx?: PickProp<IField<Data, Payload>, "sx">;
    isBaselineAlign: boolean;
  }
  /**
   * Render an outline component.
   *
   * @param [className=""] - The class name for the outline component.
   * @param [columnsOverride] - An object representing the column overrides.
   * @param [style] - Inline styles for the outline component.
   * @param children - The content to be rendered within the outline component.
   * @param [isBaselineAlign] - Flag indicating whether to align items to the baseline.
   * @param sx - The custom styling for the outline component using the sx prop.
   * @returns The rendered outline component.
   */
  export const Outline: {
    ({
      className,
      columnsOverride,
      style,
      children,
      isBaselineAlign,
      sx,
    }: IOutlineProps & IOutlinePrivate): JSX.Element;
    displayName: string;
  };
  export default Outline;
}

declare module "react-declarative-lite/components/common/Paper/Paper" {
  import * as React from "react";
  import { PickProp } from "react-declarative-lite/model/IManaged";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IField from "react-declarative-lite/model/IField";
  /**
   * Represents the props for the Paper component.
   *
   * @template Data - The type of data used by the component.
   * @template Payload - The type of payload used by the component.
   */
  export interface IPaperProps<Data = IAnything, Payload = IAnything> {
    className?: PickProp<IField<Data, Payload>, "className">;
    style?: PickProp<IField<Data, Payload>, "style">;
  }
  /**
   * The `IPaperPrivate` interface is used to describe a private paper component.
   *
   * @template Data - The type of data for the paper component.
   * @template Payload - The type of payload for the paper component.
   */
  interface IPaperPrivate<Data = IAnything, Payload = IAnything> {
    children: React.ReactNode;
    isBaselineAlign: boolean;
    columnsOverride?: PickProp<IField<Data, Payload>, "columnsOverride">;
    sx?: PickProp<IField<Data, Payload>, "sx">;
  }
  /**
   * Represents a Paper component that displays a block of content with a paper-like background.
   *
   * @typedef Paper
   * @param [className=""] - The additional CSS class name(s) to apply to the Paper component.
   * @param [style] - The inline style object to apply to the Paper component.
   * @param children - The content to be rendered inside the Paper component.
   * @param columnsOverride - The number of columns to override the default layout.
   * @param isBaselineAlign - Specifies whether to align the child elements on the baseline.
   * @param sx - The custom style object to apply to the Paper component using sx prop from the Material-UI theme.
   *
   * @returns - The rendered Paper component.
   */
  export const Paper: {
    ({
      className,
      style,
      children,
      columnsOverride,
      isBaselineAlign,
      sx,
    }: IPaperProps & IPaperPrivate): JSX.Element;
    displayName: string;
  };
  export default Paper;
}

declare module "react-declarative-lite/components/common/Expansion/Expansion" {
  import * as React from "react";
  import { PickProp } from "react-declarative-lite/model/IManaged";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IField from "react-declarative-lite/model/IField";
  /**
   * Represents the properties for the Expansion component.
   *
   * @template Data - The type of data associated with the component.
   * @template Payload - The type of payload associated with the component.
   */
  export interface IExpansionProps<Data = IAnything, Payload = IAnything> {
    title?: PickProp<IField<Data, Payload>, "title">;
    style?: PickProp<IField<Data, Payload>, "style">;
    description?: PickProp<IField<Data, Payload>, "description">;
    className?: PickProp<IField<Data, Payload>, "className">;
    expansionOpened?: PickProp<IField<Data, Payload>, "expansionOpened">;
  }
  /**
   * Interface for private expansion components.
   *
   * @template Data - The type of data.
   * @template Payload - The type of payload.
   */
  interface IExpansionPrivate<Data = IAnything, Payload = IAnything> {
    children: React.ReactNode;
    columnsOverride?: PickProp<IField<Data, Payload>, "columnsOverride">;
    sx?: PickProp<IField<Data, Payload>, "sx">;
    isBaselineAlign: boolean;
  }
  /**
   * Expansion component used for creating expandable sections in UI.
   *
   * @param props - The props for the Expansion component.
   * @param props.title - The title of the expansion section.
   * @param props.description - The description of the expansion section.
   * @param props.className - The CSS class name for the expansion section.
   * @param props.columnsOverride - Override columns for Group component.
   * @param props.isBaselineAlign - Specifies if the content of the expansion section should be baseline-aligned.
   * @param props.sx - The style object for the expansion section.
   * @param props.style - The inline style object for the expansion section.
   * @param props.children - The content of the expansion section.
   * @param props.expansionOpened - Specifies if the expansion section should be initially expanded.
   * @returns The rendered Expansion component.
   */
  export const Expansion: {
    ({
      title,
      description,
      className,
      columnsOverride,
      isBaselineAlign,
      sx,
      style,
      children,
      expansionOpened,
    }: IExpansionProps & IExpansionPrivate): JSX.Element;
    displayName: string;
  };
  export default Expansion;
}

declare module "react-declarative-lite/components/One/slots/CheckBoxSlot" {
  export * from "react-declarative-lite/components/One/slots/CheckBoxSlot/ICheckBoxSlot";
  export * from "react-declarative-lite/components/One/slots/CheckBoxSlot/CheckBoxSlot";
  export { default } from "react-declarative-lite/components/One/slots/CheckBoxSlot/CheckBoxSlot";
}

declare module "react-declarative-lite/components/One/slots/ComboSlot" {
  export * from "react-declarative-lite/components/One/slots/ComboSlot/IComboSlot";
  export * from "react-declarative-lite/components/One/slots/ComboSlot/ComboSlot";
  export { default } from "react-declarative-lite/components/One/slots/ComboSlot/ComboSlot";
}

declare module "react-declarative-lite/components/One/slots/ItemsSlot" {
  export * from "react-declarative-lite/components/One/slots/ItemsSlot/IItemsSlot";
  export * from "react-declarative-lite/components/One/slots/ItemsSlot/ItemsSlot";
  export { default } from "react-declarative-lite/components/One/slots/ItemsSlot/ItemsSlot";
}

declare module "react-declarative-lite/components/One/slots/LineSlot" {
  export * from "react-declarative-lite/components/One/slots/LineSlot/ILineSlot";
  export * from "react-declarative-lite/components/One/slots/LineSlot/LineSlot";
  export { default } from "react-declarative-lite/components/One/slots/LineSlot/LineSlot";
}

declare module "react-declarative-lite/components/One/slots/ProgressSlot" {
  export * from "react-declarative-lite/components/One/slots/ProgressSlot/IProgressSlot";
  export * from "react-declarative-lite/components/One/slots/ProgressSlot/ProgressSlot";
  export { default } from "react-declarative-lite/components/One/slots/ProgressSlot/ProgressSlot";
}

declare module "react-declarative-lite/components/One/slots/RadioSlot" {
  export * from "react-declarative-lite/components/One/slots/RadioSlot/IRadioSlot";
  export * from "react-declarative-lite/components/One/slots/RadioSlot/RadioSlot";
  export { default } from "react-declarative-lite/components/One/slots/RadioSlot/RadioSlot";
}

declare module "react-declarative-lite/components/One/slots/RatingSlot" {
  export * from "react-declarative-lite/components/One/slots/RatingSlot/IRatingSlot";
  export * from "react-declarative-lite/components/One/slots/RatingSlot/RatingSlot";
  export { default } from "react-declarative-lite/components/One/slots/RatingSlot/RatingSlot";
}

declare module "react-declarative-lite/components/One/slots/SliderSlot" {
  export * from "react-declarative-lite/components/One/slots/SliderSlot/ISliderSlot";
  export * from "react-declarative-lite/components/One/slots/SliderSlot/SliderSlot";
  export { default } from "react-declarative-lite/components/One/slots/SliderSlot/SliderSlot";
}

declare module "react-declarative-lite/components/One/slots/SwitchSlot" {
  export * from "react-declarative-lite/components/One/slots/SwitchSlot/ISwitchSlot";
  export * from "react-declarative-lite/components/One/slots/SwitchSlot/SwitchSlot";
  export { default } from "react-declarative-lite/components/One/slots/SwitchSlot/SwitchSlot";
}

declare module "react-declarative-lite/components/One/slots/TextSlot" {
  export * from "react-declarative-lite/components/One/slots/TextSlot/ITextSlot";
  export * from "react-declarative-lite/components/One/slots/TextSlot/TextSlot";
  export { default } from "react-declarative-lite/components/One/slots/TextSlot/TextSlot";
}

declare module "react-declarative-lite/components/One/slots/TypographySlot" {
  export * from "react-declarative-lite/components/One/slots/TypographySlot/ITypographySlot";
  export * from "react-declarative-lite/components/One/slots/TypographySlot/TypographySlot";
  export { default } from "react-declarative-lite/components/One/slots/TypographySlot/TypographySlot";
}

declare module "react-declarative-lite/components/One/slots/DateSlot" {
  export * from "react-declarative-lite/components/One/slots/DateSlot/IDateSlot";
  export * from "react-declarative-lite/components/One/slots/DateSlot/DateSlot";
  export { default } from "react-declarative-lite/components/One/slots/DateSlot/DateSlot";
}

declare module "react-declarative-lite/components/One/slots/TimeSlot" {
  export * from "react-declarative-lite/components/One/slots/TimeSlot/ITimeSlot";
  export * from "react-declarative-lite/components/One/slots/TimeSlot/TimeSlot";
  export { default } from "react-declarative-lite/components/One/slots/TimeSlot/TimeSlot";
}

declare module "react-declarative-lite/components/One/slots/FileSlot" {
  export * from "react-declarative-lite/components/One/slots/FileSlot/IFileSlot";
  export * from "react-declarative-lite/components/One/slots/FileSlot/FileSlot";
  export { default } from "react-declarative-lite/components/One/slots/FileSlot/FileSlot";
}

declare module "react-declarative-lite/components/One/slots/ChooseSlot" {
  export * from "react-declarative-lite/components/One/slots/ChooseSlot/IChooseSlot";
  export * from "react-declarative-lite/components/One/slots/ChooseSlot/ChooseSlot";
  export { default } from "react-declarative-lite/components/One/slots/ChooseSlot/ChooseSlot";
}

declare module "react-declarative-lite/components/One/slots/CompleteSlot" {
  export * from "react-declarative-lite/components/One/slots/CompleteSlot/ICompleteSlot";
  export * from "react-declarative-lite/components/One/slots/CompleteSlot/CompleteSlot";
  export { default } from "react-declarative-lite/components/One/slots/CompleteSlot/CompleteSlot";
}

declare module "react-declarative-lite/components/One/slots/YesNoSlot" {
  export * from "react-declarative-lite/components/One/slots/YesNoSlot/IYesNoSlot";
  export * from "react-declarative-lite/components/One/slots/YesNoSlot/YesNoSlot";
  export { default } from "react-declarative-lite/components/One/slots/YesNoSlot/YesNoSlot";
}

declare module "react-declarative-lite/components/One/slots/DictSlot" {
  export * from "react-declarative-lite/components/One/slots/DictSlot/IDictSlot";
  export * from "react-declarative-lite/components/One/slots/DictSlot/DictSlot";
  export { default } from "react-declarative-lite/components/One/slots/DictSlot/DictSlot";
}

declare module "react-declarative-lite/components/One/slots/TreeSlot" {
  export * from "react-declarative-lite/components/One/slots/TreeSlot/ITreeSlot";
  export * from "react-declarative-lite/components/One/slots/TreeSlot/TreeSlot";
  export { default } from "react-declarative-lite/components/One/slots/TreeSlot/TreeSlot";
}

declare module "react-declarative-lite/components/One/slots/ButtonSlot" {
  export * from "react-declarative-lite/components/One/slots/ButtonSlot/IButtonSlot";
  export * from "react-declarative-lite/components/One/slots/ButtonSlot/ButtonSlot";
  export { default } from "react-declarative-lite/components/One/slots/ButtonSlot/ButtonSlot";
}

declare module "react-declarative-lite/components/One/components/OneConfig/OneConfig" {
  import type { IConfig } from "react-declarative-lite/components/One/components/OneConfig/OneConfigInstance";
  export const GET_REF_SYMBOL: unique symbol;
  /**
   * Class representing the OneConfig.
   */
  export class OneConfig {
    static [GET_REF_SYMBOL]: () => IConfig;
    static setValue: (config: Partial<IConfig>) => void;
  }
  export { IConfig };
  export default OneConfig;
}

declare module "react-declarative-lite/components/One/components/makeField/makeField" {
  import * as React from "react";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IManaged from "react-declarative-lite/model/IManaged";
  import IEntity from "react-declarative-lite/model/IEntity";
  import IField from "react-declarative-lite/model/IField";
  /**
   * Represents the configuration options for makeField hoc.
   *
   * @template Data - The type of data the configuration will handle.
   */
  interface IConfig<Data = IAnything> {
    withApplyQueue?: boolean;
    skipDebounce?: boolean;
    skipDirtyClickListener?: boolean;
    skipFocusReadonly?: boolean;
    skipFocusBlurCall?: boolean;
    skipClickListener?: boolean;
    defaultProps?: Partial<
      Omit<
        IField<Data>,
        keyof {
          fields: never;
          child: never;
        }
      >
    >;
  }
  /**
   * - Оборачивает IEntity в удобную абстракцию IManaged, где сразу
   *   представлены invalid, disabled, visible и можно задваивать вызов onChange
   * - Управляет фокусировкой, мануально ожидая потерю фокуса, эмулируя onBlur
   */
  export function makeField(
    originalComponent: React.FC<IManaged>,
    fieldConfig?: IConfig,
  ): {
    <Data extends unknown = any>({
      className,
      sx,
      columns,
      phoneColumns,
      tabletColumns,
      desktopColumns,
      phoneHidden: upperPhoneHidden,
      tabletHidden: upperTabletHidden,
      desktopHidden: upperDesktopHidden,
      isDisabled: isDisabledUpper,
      isVisible: isVisibleUpper,
      isInvalid: isInvalidUpper,
      isIncorrect: isIncorrectUpper,
      isReadonly: isReadonlyUpper,
      readTransform,
      writeTransform,
      change,
      fallback,
      ready,
      compute: upperCompute,
      shouldRecompute,
      click,
      map,
      object: upperObject,
      name,
      title,
      menu,
      type,
      debug,
      focus,
      blur,
      invalidity,
      prefix,
      dirty: upperDirty,
      disabled: fieldDisabled,
      readonly: upperReadonly,
      autoFocus,
      style,
      menuItems,
      groupRef: ref,
      fieldRightMargin,
      fieldBottomMargin,
      outlinePaper,
      transparentPaper,
      testId,
      ...otherProps
    }: IEntity<Data, any>): JSX.Element | null;
    displayName: string;
  };
  export default makeField;
}

declare module "react-declarative-lite/components/One/components/makeLayout/makeLayout" {
  import * as React from "react";
  import IAnything from "react-declarative-lite/model/IAnything";
  import IEntity from "react-declarative-lite/model/IEntity";
  /**
   * Represents the layout of a component.
   *
   * @template Data - The type of data associated with the layout.
   */
  export interface ILayout<Data extends IAnything = IAnything>
    extends IEntity<Data> {
    children: React.ReactElement[];
  }
  /**
   * Renders a component based on input data and conditions.
   *
   * @template T - The type of layout component
   * @param originalComponent - The original component to be wrapped
   * @returns - The wrapped component
   */
  export function makeLayout<T extends ILayout<any>>(
    originalComponent: React.FC<T>,
  ): React.FC<T>;
  export default makeLayout;
}

declare module "react-declarative-lite/components/One/components/common/MenuItems" {
  import * as React from "react";
  import IField, { Value } from "react-declarative-lite/model/IField";
  import type TSubject from "react-declarative-lite/model/TSubject";
  /**
   * Interface for defining parameters for a component.
   *
   * @interface
   */
  export interface IParams {
    name: Exclude<IField["name"], undefined>;
    menuItems: Exclude<IField["menuItems"], undefined>;
    onValueChange: (value: Value) => void;
    menu: Exclude<IField["menu"], undefined>;
  }
  /**
   * Represents the IRequest interface.
   * This interface extends IParams interface, and adds an event property of type React.MouseEvent<HTMLDivElement>.
   */
  export interface IRequest extends IParams {
    event: React.MouseEvent<HTMLDivElement>;
  }
  /**
   * Represents the properties for the MenuItems component
   */
  interface IMenuItemsProps {
    requestSubject: TSubject<IRequest>;
  }
  /**
   * Renders a menu with a list of options based on the provided props.
   *
   * @param props - The menu items props.
   * @param props.requestSubject - An observer subject to listen for menu requests.
   *
   * @returns The rendered menu.
   */
  export const MenuItems: ({ requestSubject }: IMenuItemsProps) => JSX.Element;
  export default MenuItems;
}

declare module "react-declarative-lite/components/Tile/model/RowData" {
  export type RowData = any;
  export default RowData;
}

declare module "react-declarative-lite/components/One/slots/FileSlot/IFileSlot" {
  import {
    IFileFieldProps,
    IFileFieldPrivate,
  } from "react-declarative-lite/components/One/fields/FileField";
  type IFileBase = IFileFieldProps & IFileFieldPrivate;
  /**
   * Represents a file slot interface that extends the IFileBase interface.
   *
   * @interface
   * @extends {IFileBase}
   */
  export interface IFileSlot extends IFileBase {}
  export default IFileSlot;
}

declare module "react-declarative-lite/components/One/slots/IconSlot" {
  export * from "react-declarative-lite/components/One/slots/IconSlot/IIconSlot";
  export * from "react-declarative-lite/components/One/slots/IconSlot/IconSlot";
  export { default } from "react-declarative-lite/components/One/slots/IconSlot/IconSlot";
}

declare module "react-declarative-lite/components/One/slots/CheckBoxSlot/ICheckBoxSlot" {
  import {
    ICheckboxFieldPrivate,
    ICheckboxFieldProps,
  } from "react-declarative-lite/components/One/fields/CheckboxField";
  /**
   * Represents a checkbox slot for a checkbox field.
   *
   * @interface ICheckBoxSlot
   * @extends ICheckboxFieldProps
   * @extends ICheckboxFieldPrivate
   */
  export interface ICheckBoxSlot
    extends ICheckboxFieldProps,
      ICheckboxFieldPrivate {}
  export default ICheckBoxSlot;
}

declare module "react-declarative-lite/components/One/slots/CheckBoxSlot/CheckBoxSlot" {
  import ICheckBoxSlot from "react-declarative-lite/components/One/slots/CheckBoxSlot/ICheckBoxSlot";
  /**
   * Represents a checkbox slot component.
   *
   * @param props - The props for the checkbox slot component.
   * @returns - The rendered checkbox element.
   */
  export const CheckBoxSlot: (props: ICheckBoxSlot) => JSX.Element;
  export default CheckBoxSlot;
}

declare module "react-declarative-lite/components/One/slots/ComboSlot/IComboSlot" {
  import {
    IComboFieldPrivate,
    IComboFieldProps,
  } from "react-declarative-lite/components/One/fields/ComboField";
  /**
   * Represents a combo slot for a combo field.
   *
   * @interface IComboSlot
   * @extends Omit<IComboFieldProps, "readonly">
   * @extends IComboFieldPrivate
   */
  export interface IComboSlot
    extends Omit<IComboFieldProps, "readonly">,
      IComboFieldPrivate {}
  export default IComboSlot;
}

declare module "react-declarative-lite/components/One/slots/ComboSlot/ComboSlot" {
  import IComboSlot from "react-declarative-lite/components/One/slots/ComboSlot/IComboSlot";
  /**
   * Represents a combo slot component.
   *
   * @param props - The properties for the combo slot.
   * @returns A combo slot component.
   */
  export const ComboSlot: (props: IComboSlot) => JSX.Element;
  export default ComboSlot;
}

declare module "react-declarative-lite/components/One/slots/ItemsSlot/IItemsSlot" {
  import {
    IItemsFieldPrivate,
    IItemsFieldProps,
  } from "react-declarative-lite/components/One/fields/ItemsField";
  /**
   * Represents an interface for an ItemsSlot in a field.
   * Extends the IItemsFieldProps and IItemsFieldPrivate interfaces.
   *
   * @interface IItemsSlot
   * @extends {IItemsFieldProps}
   * @extends {IItemsFieldPrivate}
   */
  export interface IItemsSlot extends IItemsFieldProps, IItemsFieldPrivate {}
  export default IItemsSlot;
}

declare module "react-declarative-lite/components/One/slots/ItemsSlot/ItemsSlot" {
  import IItemsSlot from "react-declarative-lite/components/One/slots/ItemsSlot/IItemsSlot";
  /**
   * Represents a component that provides a slot for items.
   * @param props - The component's properties.
   * @return The rendered component.
   */
  export const ItemsSlot: (props: IItemsSlot) => JSX.Element;
  export default ItemsSlot;
}

declare module "react-declarative-lite/components/One/slots/LineSlot/ILineSlot" {
  import { ILineFieldProps } from "react-declarative-lite/components/One/fields/LineField";
  /**
   * Represents a line slot which extends ILineFieldProps interface.
   *
   * @interface ILineSlot
   * @extends {ILineFieldProps}
   */
  export interface ILineSlot extends ILineFieldProps {}
  export default ILineSlot;
}

declare module "react-declarative-lite/components/One/slots/LineSlot/LineSlot" {
  import ILineSlot from "react-declarative-lite/components/One/slots/LineSlot/ILineSlot";
  /**
   * Represents a Line Slot component.
   *
   * @param props - The props passed to the component.
   * @returns - The rendered Line component along with the props passed to it.
   */
  export const LineSlot: (props: ILineSlot) => JSX.Element;
  export default LineSlot;
}

declare module "react-declarative-lite/components/One/slots/ProgressSlot/IProgressSlot" {
  import {
    IProgressFieldProps,
    IProgressFieldPrivate,
  } from "react-declarative-lite/components/One/fields/ProgressField";
  /**
   * @interface
   * Interface for IProgressSlot.
   * Represents a progress slot that implements IProgressFieldProps and IProgressFieldPrivate interfaces.
   */
  export interface IProgressSlot
    extends IProgressFieldProps,
      IProgressFieldPrivate {}
  export default IProgressSlot;
}

declare module "react-declarative-lite/components/One/slots/ProgressSlot/ProgressSlot" {
  import IProgressSlot from "react-declarative-lite/components/One/slots/ProgressSlot/IProgressSlot";
  /**
   * Represents a Progress Slot component.
   *
   * @param props - The props passed to the component.
   * @returns - The rendered Progress component.
   */
  export const ProgressSlot: (props: IProgressSlot) => JSX.Element;
  export default ProgressSlot;
}

declare module "react-declarative-lite/components/One/slots/RadioSlot/IRadioSlot" {
  import {
    IRadioFieldPrivate,
    IRadioFieldProps,
  } from "react-declarative-lite/components/One/fields/RadioField";
  /**
   * An interface that extends IRadioFieldProps and IRadioFieldPrivate to represent a radio slot.
   *
   * @interface
   * @extends IRadioFieldProps
   * @extends IRadioFieldPrivate
   */
  export interface IRadioSlot extends IRadioFieldProps, IRadioFieldPrivate {}
  export default IRadioSlot;
}

declare module "react-declarative-lite/components/One/slots/RadioSlot/RadioSlot" {
  import IRadioSlot from "react-declarative-lite/components/One/slots/RadioSlot/IRadioSlot";
  /**
   * Represents a radio slot component.
   *
   * @param props - The props object for the radio slot component.
   * @returns - The rendered radio element.
   */
  export const RadioSlot: (props: IRadioSlot) => JSX.Element;
  export default RadioSlot;
}

declare module "react-declarative-lite/components/One/slots/RatingSlot/IRatingSlot" {
  import {
    IRatingFieldProps,
    IRatingFieldPrivate,
  } from "react-declarative-lite/components/One/fields/RatingField";
  /**
   * Represents a rating slot.
   *
   * @interface
   * @extends IRatingFieldProps
   * @extends IRatingFieldPrivate
   */
  export interface IRatingSlot
    extends Omit<IRatingFieldProps, "readonly">,
      IRatingFieldPrivate {}
  export default IRatingSlot;
}

declare module "react-declarative-lite/components/One/slots/RatingSlot/RatingSlot" {
  import IRatingSlot from "react-declarative-lite/components/One/slots/RatingSlot/IRatingSlot";
  /**
   * Renders a component that displays a rating using the Rating component from the SlotContext.
   *
   * @param props - The properties to be passed to the Rating component.
   * @returns - The rendered component.
   */
  export const RatingSlot: (props: IRatingSlot) => JSX.Element;
  export default RatingSlot;
}

declare module "react-declarative-lite/components/One/slots/SliderSlot/ISliderSlot" {
  import {
    ISliderFieldPrivate,
    ISliderFieldProps,
  } from "react-declarative-lite/components/One/fields/SliderField";
  /**
   * @interface
   * Represents a slider slot in a slider component.
   *
   * @extends {ISliderFieldProps} - Interface representing the properties of the slider field.
   * @extends {ISliderFieldPrivate} - Interface representing the private properties of the slider field.
   */
  export interface ISliderSlot extends ISliderFieldProps, ISliderFieldPrivate {}
  export default ISliderSlot;
}

declare module "react-declarative-lite/components/One/slots/SliderSlot/SliderSlot" {
  import ISliderSlot from "react-declarative-lite/components/One/slots/SliderSlot/ISliderSlot";
  /**
   * Represents a Slider component wrapped in a SlotContext.
   *
   * @param props - The props object that contains the properties for the Slider component.
   * @returns The Slider component with the given props.
   */
  export const SliderSlot: (props: ISliderSlot) => JSX.Element;
  export default SliderSlot;
}

declare module "react-declarative-lite/components/One/slots/SwitchSlot/ISwitchSlot" {
  import {
    ISwitchFieldPrivate,
    ISwitchFieldProps,
  } from "react-declarative-lite/components/One/fields/SwitchField";
  /**
   * Represents a switch slot.
   *
   * @interface ISwitchSlot
   * @extends {ISwitchFieldProps}
   * @extends {ISwitchFieldPrivate}
   */
  export interface ISwitchSlot extends ISwitchFieldProps, ISwitchFieldPrivate {}
  export default ISwitchSlot;
}

declare module "react-declarative-lite/components/One/slots/SwitchSlot/SwitchSlot" {
  import ISwitchSlot from "react-declarative-lite/components/One/slots/SwitchSlot/ISwitchSlot";
  /**
   * Represents a Switch Slot component.
   *
   * @param props - The properties for the Switch Slot component.
   * @returns The rendered Switch component with the given properties.
   */
  export const SwitchSlot: (props: ISwitchSlot) => JSX.Element;
  export default SwitchSlot;
}

declare module "react-declarative-lite/components/One/slots/TextSlot/ITextSlot" {
  import {
    ITextFieldProps,
    ITextFieldPrivate,
  } from "react-declarative-lite/components/One/fields/TextField";
  type ITextBase = ITextFieldProps & ITextFieldPrivate;
  /**
   * Represents a text slot.
   * @interface
   * @extends {ITextBase}
   */
  export interface ITextSlot extends ITextBase {}
  export default ITextSlot;
}

declare module "react-declarative-lite/components/One/slots/TextSlot/TextSlot" {
  import ITextSlot from "react-declarative-lite/components/One/slots/TextSlot/ITextSlot";
  /**
   * Represents a text slot component.
   *
   * @param props - The properties to configure the component.
   * @returns - The rendered text component.
   */
  export const TextSlot: (props: ITextSlot) => JSX.Element;
  export default TextSlot;
}

declare module "react-declarative-lite/components/One/slots/TypographySlot/ITypographySlot" {
  import {
    ITypographyFieldPrivate,
    ITypographyFieldProps,
  } from "react-declarative-lite/components/One/fields/TypographyField";
  /**
   * The ITypographySlot interface represents a typography slot.
   *
   * @interface
   * @extends ITypographyFieldProps
   * @extends ITypographyFieldPrivate
   */
  export interface ITypographySlot
    extends ITypographyFieldProps,
      ITypographyFieldPrivate {}
  export default ITypographySlot;
}

declare module "react-declarative-lite/components/One/slots/TypographySlot/TypographySlot" {
  import ITypographySlot from "react-declarative-lite/components/One/slots/TypographySlot/ITypographySlot";
  /**
   * Represents a slot for typography components.
   * @param props - The properties for the typography slot.
   * @returns A typography component.
   */
  export const TypographySlot: (props: ITypographySlot) => JSX.Element;
  export default TypographySlot;
}

declare module "react-declarative-lite/components/One/slots/DateSlot/IDateSlot" {
  import {
    IDateFieldProps,
    IDateFieldPrivate,
  } from "react-declarative-lite/components/One/fields/DateField";
  type IDateBase = IDateFieldProps & IDateFieldPrivate;
  /**
   * Represents a date slot.
   *
   * @interface IDateSlot
   * @extends IDateBase
   */
  export interface IDateSlot extends IDateBase {}
  export default IDateSlot;
}

declare module "react-declarative-lite/components/One/slots/DateSlot/DateSlot" {
  import IDateSlot from "react-declarative-lite/components/One/slots/DateSlot/IDateSlot";
  /**
   * Represents a DateSlot component.
   *
   * @param props - The props for the DateSlot component.
   * @returns - The rendered Date component.
   */
  export const DateSlot: (props: IDateSlot) => JSX.Element;
  export default DateSlot;
}

declare module "react-declarative-lite/components/One/slots/TimeSlot/ITimeSlot" {
  import {
    ITimeFieldProps,
    ITimeFieldPrivate,
  } from "react-declarative-lite/components/One/fields/TimeField";
  type TTimeBase = ITimeFieldProps & ITimeFieldPrivate;
  /**
   * Represents a time slot.
   * @interface ITimeSlot
   * @extends TTimeBase
   */
  export interface ITimeSlot extends TTimeBase {}
  export default ITimeSlot;
}

declare module "react-declarative-lite/components/One/slots/TimeSlot/TimeSlot" {
  import ITimeSlot from "react-declarative-lite/components/One/slots/TimeSlot/ITimeSlot";
  /**
   * Represents a TimeSlot component.
   * @param props - The properties of the TimeSlot component.
   * @returns The rendered Time component.
   */
  export const TimeSlot: (props: ITimeSlot) => JSX.Element;
  export default TimeSlot;
}

declare module "react-declarative-lite/components/One/slots/FileSlot/FileSlot" {
  import IFileSlot from "react-declarative-lite/components/One/slots/FileSlot/IFileSlot";
  /**
   * Represents a file slot component.
   * @param props - The props for the file slot component.
   * @returns The rendered file slot component.
   */
  export const FileSlot: (props: IFileSlot) => JSX.Element;
  export default FileSlot;
}

declare module "react-declarative-lite/components/One/slots/ChooseSlot/IChooseSlot" {
  import {
    IChooseFieldProps,
    IChooseFieldPrivate,
  } from "react-declarative-lite/components/One/fields/ChooseField";
  type IChooseBase = IChooseFieldProps & IChooseFieldPrivate;
  /**
   * Represents the interface for choosing a time slot.
   * @interface
   * @extends IChooseBase
   */
  export interface IChooseSlot extends IChooseBase {}
  export default IChooseSlot;
}

declare module "react-declarative-lite/components/One/slots/ChooseSlot/ChooseSlot" {
  import IChooseSlot from "react-declarative-lite/components/One/slots/ChooseSlot/IChooseSlot";
  /**
   * Renders the component by passing the properties to the Choose component obtained from the SlotContext.
   *
   * @param props - The properties for the ChooseSlot component.
   * @returns - The rendered Choose component.
   */
  export const ChooseSlot: (props: IChooseSlot) => JSX.Element;
  export default ChooseSlot;
}

declare module "react-declarative-lite/components/One/slots/CompleteSlot/ICompleteSlot" {
  import {
    ICompleteFieldProps,
    ICompleteFieldPrivate,
  } from "react-declarative-lite/components/One/fields/CompleteField";
  type ICompleteBase = ICompleteFieldProps & ICompleteFieldPrivate;
  /**
   * Represents a complete slot.
   *
   * @interface ICompleteSlot
   * @extends ICompleteBase
   */
  export interface ICompleteSlot extends ICompleteBase {}
  export default ICompleteSlot;
}

declare module "react-declarative-lite/components/One/slots/CompleteSlot/CompleteSlot" {
  import ICompleteSlot from "react-declarative-lite/components/One/slots/CompleteSlot/ICompleteSlot";
  /**
   * Represents a complete slot.
   *
   * @param props - The props for the complete slot.
   * @returns - The JSX element representing the complete slot.
   */
  export const CompleteSlot: (props: ICompleteSlot) => JSX.Element;
  export default CompleteSlot;
}

declare module "react-declarative-lite/components/One/slots/YesNoSlot/IYesNoSlot" {
  import {
    IYesNoFieldPrivate,
    IYesNoFieldProps,
  } from "react-declarative-lite/components/One/fields/YesNoField";
  /**
   * Represents a Yes/No slot.
   *
   * @interface IYesNoSlot
   * @extends IYesNoFieldProps
   * @extends IYesNoFieldPrivate
   */
  export interface IYesNoSlot
    extends Omit<IYesNoFieldProps, "readonly">,
      IYesNoFieldPrivate {}
  export default IYesNoSlot;
}

declare module "react-declarative-lite/components/One/slots/YesNoSlot/YesNoSlot" {
  import IYesNoSlot from "react-declarative-lite/components/One/slots/YesNoSlot/IYesNoSlot";
  /**
   * Represents a slot for yes/no values.
   * @param props - The props for the YesNoSlot component.
   * @param props.YesNo - The YesNo component provided by the SlotContext.
   * @returns - The rendered YesNo component.
   */
  export const YesNoSlot: (props: IYesNoSlot) => JSX.Element;
  export default YesNoSlot;
}

declare module "react-declarative-lite/components/One/slots/DictSlot/IDictSlot" {
  import {
    IDictFieldProps,
    IDictFieldPrivate,
  } from "react-declarative-lite/components/One/fields/DictField";
  type IDictBase = IDictFieldProps & IDictFieldPrivate;
  /**
   * Represents an interface for a dictionary slot.
   * @interface
   * @extends IDictBase
   */
  export interface IDictSlot extends IDictBase {}
  export default IDictSlot;
}

declare module "react-declarative-lite/components/One/slots/DictSlot/DictSlot" {
  import IDictSlot from "react-declarative-lite/components/One/slots/DictSlot/IDictSlot";
  /**
   * Represents a dictionary slot component.
   * @param props - The props object containing input data.
   * @returns The rendered dictionary slot.
   */
  export const DictSlot: (props: IDictSlot) => JSX.Element;
  export default DictSlot;
}

declare module "react-declarative-lite/components/One/slots/TreeSlot/ITreeSlot" {
  import {
    ITreeFieldProps,
    ITreeFieldPrivate,
  } from "react-declarative-lite/components/One/fields/TreeField";
  type ITreeBase = ITreeFieldProps & ITreeFieldPrivate;
  /**
   * Represents a slot in a tree structure.
   * Extends the interface ITreeBase.
   *
   * @interface
   * @extends ITreeBase
   */
  export interface ITreeSlot extends ITreeBase {}
  export default ITreeSlot;
}

declare module "react-declarative-lite/components/One/slots/TreeSlot/TreeSlot" {
  import ITreeSlot from "react-declarative-lite/components/One/slots/TreeSlot/ITreeSlot";
  /**
   * Represents a slot for a tree component.
   *
   * @param props - The props for the TreeSlot component.
   * @returns - The rendered Tree component.
   */
  export const TreeSlot: (props: ITreeSlot) => JSX.Element;
  export default TreeSlot;
}

declare module "react-declarative-lite/components/One/slots/ButtonSlot/IButtonSlot" {
  import {
    IButtonFieldPrivate,
    IButtonFieldProps,
  } from "react-declarative-lite/components/One/fields/ButtonField";
  /**
   * Represents a checkbox slot for a checkbox field.
   *
   * @interface IButtonSlot
   * @extends IButtonFieldProps
   * @extends IButtonFieldPrivate
   */
  export interface IButtonSlot extends IButtonFieldProps, IButtonFieldPrivate {}
  export default IButtonSlot;
}

declare module "react-declarative-lite/components/One/slots/ButtonSlot/ButtonSlot" {
  import IButtonSlot from "react-declarative-lite/components/One/slots/ButtonSlot/IButtonSlot";
  /**
   * Represents a checkbox slot component.
   *
   * @param props - The props for the checkbox slot component.
   * @returns - The rendered checkbox element.
   */
  export const ButtonSlot: (props: IButtonSlot) => JSX.Element;
  export default ButtonSlot;
}

declare module "react-declarative-lite/components/One/components/OneConfig/OneConfigInstance" {
  /**
   * Represents a configuration object for the one component.
   *
   * @interface IConfig
   */
  export interface IConfig {
    WITH_DIRTY_CLICK_LISTENER: boolean;
    WITH_MOBILE_READONLY_FALLBACK: boolean;
    WITH_WAIT_FOR_MOVE_LISTENER: boolean;
    WITH_WAIT_FOR_TAB_LISTENER: boolean;
    WITH_WAIT_FOR_TOUCH_LISTENER: boolean;
    WITH_DISMOUNT_LISTENER: boolean;
    WITH_SYNC_COMPUTE: boolean;
    CUSTOM_FIELD_DEBOUNCE: number;
    FIELD_BLUR_DEBOUNCE: number;
  }
  /**
   * Class representing a OneConfigInstance.
   * @class
   */
  export class OneConfigInstance {
    getRef: () => IConfig;
    setValue: (config: Partial<IConfig>) => void;
  }
  export default OneConfigInstance;
}

declare module "react-declarative-lite/components/One/slots/IconSlot/IIconSlot" {
  import {
    IIconFieldPrivate,
    IIconFieldProps,
  } from "react-declarative-lite/components/One/fields/IconField";
  /**
   * Represents a checkbox slot for a checkbox field.
   *
   * @interface IIconSlot
   * @extends IIconFieldProps
   * @extends IIconFieldPrivate
   */
  export interface IIconSlot extends IIconFieldProps, IIconFieldPrivate {}
  export default IIconSlot;
}

declare module "react-declarative-lite/components/One/slots/IconSlot/IconSlot" {
  import IIconSlot from "react-declarative-lite/components/One/slots/IconSlot/IIconSlot";
  /**
   * Represents a checkbox slot component.
   *
   * @param props - The props for the checkbox slot component.
   * @returns - The rendered checkbox element.
   */
  export const IconSlot: (props: IIconSlot) => JSX.Element;
  export default IconSlot;
}
