/**
 * @license
 *-------------------------------------------------------------------------------------------
 * Copyright © 2026 Progress Software Corporation. All rights reserved.
 * Licensed under commercial license. See LICENSE.md in the package root for more information
 *-------------------------------------------------------------------------------------------
 */
import { AnimationClasses } from '../animations.js';
import { ButtonClasses, ButtonGroupClasses, DropDownButtonClasses } from '../buttons.js';
import { CalendarClasses, DateInputClasses, DateTimePickerClasses, TimeClasses, TimePickerClasses } from '../dateinputs.js';
import { ComboBoxClasses, DropDownBaseClasses, DropDownListClasses, DropDownsActionSheetClasses } from '../dropdowns.js';
import { FormClasses } from '../form.js';
import { SVGIconClasses } from '../icons.js';
import { InputClasses, MaskedTextBoxClasses, RadioButtonClasses, RadioGroupClasses, TextBoxClasses } from '../inputs.js';
import { ErrorClasses, FloatingLabelClasses, HintClasses, LabelClasses } from '../labels.js';
import { PopupClasses } from '../popup.js';
/**
 * @hidden
 */
export interface WidgetClassStructure {
    [key: string]: (props: {
        [key: string]: any;
    }) => {
        [key: string]: boolean;
    } | string;
}
/**
 * Animation classes
 */
export interface AnimationsClassStructure {
    /** Animation styles and transition configuration */
    uAnimation?: AnimationClasses;
}
/**
 * Icons classes
 */
export interface IconsClassStructure {
    /** SVG icon styling configuration */
    uSvgIcon?: SVGIconClasses;
}
/**
 * Buttons classes
 */
export interface ButtonsClassStructure {
    /** Button component styling configuration */
    uButton?: ButtonClasses;
    /** Button group styling configuration */
    uButtonGroup?: ButtonGroupClasses;
    /** Drop-down button styling configuration */
    uDropDownButton?: DropDownButtonClasses;
}
/**
 * Popup classes
 */
export interface PopupClassStructure {
    /** Popup component styling configuration */
    uPopup?: PopupClasses;
}
/**
 * Inputs classes
 */
export interface InputsClassStructure {
    /** Masked text box styling configuration */
    uMaskedTextBox?: MaskedTextBoxClasses;
    /** Radio group styling configuration */
    uRadioGroup?: RadioGroupClasses;
    /** Radio button styling configuration */
    uRadioButton?: RadioButtonClasses;
    /** Text box styling configuration */
    uTextBox?: TextBoxClasses;
    /** Input component styling configuration */
    uInput?: InputClasses;
}
/**
 * DropDowns classes
 */
export interface DropDownsClassStructure {
    /** DropDown action sheet styling configuration */
    uDropDownsActionSheet?: DropDownsActionSheetClasses;
    /** Base DropDown styling configuration */
    uDropDownsBase?: DropDownBaseClasses;
    /** DropDown list styling configuration */
    uDropDownList?: DropDownListClasses;
    /** ComboBox styling configuration */
    uComboBox?: ComboBoxClasses;
}
/**
 * Labels classes
 */
export interface LabelsClassStructure {
    /** Error message styling configuration */
    uError?: ErrorClasses;
    /** Hint text styling configuration */
    uHint?: HintClasses;
    /** Label styling configuration */
    uLabel?: LabelClasses;
    /** Floating label styling configuration */
    uFloatingLabel?: FloatingLabelClasses;
}
/**
 * Form classes
 */
export interface FormClassStructure {
    /** Form component styling configuration */
    uForm?: FormClasses;
}
/**
 * DateInputs classes
 */
export interface DateInputsClassStructure {
    /** Calendar styling configuration */
    uCalendar?: CalendarClasses;
    /** Date input styling configuration */
    uDateInput?: DateInputClasses;
    /** Date time picker styling configuration */
    uDateTimePicker?: DateTimePickerClasses;
    /** Time component styling configuration */
    uTime?: TimeClasses;
    /** Time picker styling configuration */
    uTimePicker?: TimePickerClasses;
}
/**
 * @hidden
 */
export declare const getClassByName: (classedObject: {
    [key: string]: any;
}, name: string) => (props: {
    [key: string]: any;
}) => {
    [x: number]: boolean;
};
/**
 * @hidden
 */
export interface GridClassStructure {
    /** Grid component styling configuration */
    uGrid?: WidgetClassStructure;
}
