interface OptionType {
    value: string | number;
    label: string;
}
interface FieldConfig {
    index: number;
    options: OptionType[];
    multiple?: boolean;
    placeholder?: string;
    label?: string;
    fetchOptions?: (parentValue: any) => Promise<OptionType[]> | OptionType[];
    disabled?: boolean;
    errorMessage?: string;
    customStyle?: React.CSSProperties;
    className?: string;
    selectStyle?: React.CSSProperties;
    selectClassName?: string;
}
interface HierarchicalSelectProps {
    fields: FieldConfig[];
    designSystem?: 'antd' | 'shadcn';
    onChange?: (values: (string | number | (string | number)[] | undefined)[]) => void;
    onError?: (error: Error) => void;
    className?: string;
    disabled?: boolean;
}
interface SelectFieldProps {
    field: FieldConfig;
    value: any;
    onChange: (value: any) => void;
    isLoading?: boolean;
    disabled?: boolean;
    designSystem: 'antd' | 'shadcn';
    error?: string;
}

export { FieldConfig, HierarchicalSelectProps, OptionType, SelectFieldProps };
