/// <reference types="react" />
interface EventProps {
    onClick?: (callBack: ((...args: any[]) => void) | null, ...args: any[]) => void;
    onChange?: (callBack: ((...args: any[]) => void) | null, ...args: any[]) => void;
    onKeyUp?: (callBack: ((...args: any[]) => void) | null, ...args: any[]) => void;
    onKeyDown?: (callBack: ((...args: any[]) => void) | null, ...args: any[]) => void;
    onBlur?: (callBack: ((...args: any[]) => void) | null, ...args: any[]) => void;
    onFocus?: (callBack: ((...args: any[]) => void) | null, ...args: any[]) => void;
}
export type Style = {
    id?: string;
    className?: string;
    inline?: React.CSSProperties;
};
interface BaseComponent {
    id?: string;
    widgetStyle?: Style;
    isApply?: boolean;
}
export interface ToolTip extends BaseComponent {
    position?: "top" | "bottom" | "left" | "right";
    dataFor?: string | undefined;
    dataEffect?: string;
    dataHtml?: boolean;
    dataPlace?: string;
    dataMultiline?: boolean;
    dataType?: string;
    dataTip?: any;
}
export interface Label extends BaseComponent {
    title?: string | undefined;
    position: "top" | "left" | "right" | "bottom";
}
export interface HelperText extends BaseComponent {
    title?: string | undefined;
}
export interface BaseProps extends EventProps {
    id?: string | number | undefined;
    widgetStyle?: Style;
    rootStyle?: Style;
    toolTip?: ToolTip;
    label?: Label;
    helperText?: HelperText;
    disabled?: boolean;
    visible?: boolean;
    screenDataField?: string;
    targetScreenDataField?: string;
    supportiveDataField?: string;
    value?: any;
    listData?: any;
    uiElementGroupData?: Record<string, any>;
    eventService?: any;
    name?: string;
    viewModel?: Record<string, any>;
    dynamicEvents?: Record<string, any>;
}
export interface ComprehensiveProps extends BaseProps {
    validations?: any[];
}
export {};
