import type { ISelectItem } from 'node_modules/@feedmepos/ui-library/dist/components/form/select/FmSelect.vue';
export interface FormComponentProps<Root = any, Field = any> {
    /** contains the whole form data */
    rootValue?: Root;
    /** contains the field data at specified `path` */
    modelValue?: Field;
    /** contains the field error at specified `path` */
    errors?: any;
    loading?: boolean;
    disabled?: boolean;
    paths?: (string | number)[];
    required?: boolean;
}
export interface FmFilterableSelectProps<OptionValue = any> extends FormComponentProps<any, OptionValue[]> {
    options: ISelectItem[];
    placeholder?: string;
    helperMessage?: string;
    helperMessageProps?: any;
    label?: string;
    labelProps?: any;
    labelMark?: string;
    size?: 'md' | 'sm';
    matchStyle?: string;
}
export interface FmFilterableSelectEvents<T = any> {
    (event: 'update:modelValue', value: any): void;
    (event: 'update:rootValue', value: T): void;
}
