import { VNode } from 'vue';
import { Field, Path, BaseBagelField } from '../types/BagelForm';
export interface UseSchemaFieldOptions<T, SFP extends Path<T>> {
    mode?: 'form' | 'preview' | 'table';
    getFormData?: () => T;
    onUpdateModelValue?: (field: BaseBagelField<T, SFP>, value: any) => void;
    includeUnset?: boolean;
}
export declare function useSchemaField<T extends {
    [key: string]: any;
}, SP extends Path<T>>(optns: UseSchemaFieldOptions<T, SP>): {
    renderField: (field: BaseBagelField<T, SP>, slots?: BaseBagelField<T, SP>["slots"]) => VNode | undefined;
    getComponent: (field: Field<T>) => any;
};
//# sourceMappingURL=useSchemaField.d.ts.map