import { CSSProperties, HTMLAttributes, ReactNode, ReactNodeArray } from 'react';
type KnownKeys<T> = {
    [K in keyof T]: string extends K ? never : number extends K ? never : K;
} extends {
    [_ in keyof T]: infer U;
} ? U : never;
type RemoveIndexSignature<T> = Pick<T, keyof T & KnownKeys<T>>;
type FixAnyHTMLAttributes = RemoveIndexSignature<HTMLAttributes<HTMLElement>>;
type NoDefaultValueHTMLAttributes = Omit<FixAnyHTMLAttributes, 'defaultValue'>;
export interface HTMLAttributesWeak extends NoDefaultValueHTMLAttributes {
    id?: any;
    style?: CSSProperties;
    onChange?: any;
    onClick?: any;
    onFocus?: any;
    onBlur?: any;
    onSubmit?: any;
    onSelect?: any;
    onError?: any;
}
export declare function isPromise<T>(obj: any): obj is Promise<T>;
export interface BaseComponentAttributes extends HTMLAttributesWeak {
    prefix?: string;
    className?: string;
}
export type BasicSizeType = 'small' | 'medium' | 'large';
export type BasicDirectionType = 'hoz' | 'ver';
export interface BaseFieldPreviewProps {
    isPreview?: boolean;
    renderPreview?: (value?: any) => ReactNode | ReactNodeArray;
    previewClassName?: string;
    previewStyle?: CSSProperties;
}
export interface DataSourceItemProps {
    label?: string;
    text?: string;
    value?: any;
    disabled?: boolean;
    checked?: boolean;
    style?: CSSProperties;
    children?: DataSourceItemProps[];
}
export {};
