import { AttributeFn, AttributeValue, Attributes, BagelFieldOptions, BaseBagelField, BglFormSchemaT, Field, Path } from '../..';
import { MaybeRefOrGetter } from 'vue';
export interface FieldArrayProps<T, P extends Path<T>> {
    el?: any;
    id: string;
    label?: string;
    placeholder?: string;
    children?: Field<T>[];
    class?: AttributeValue | AttributeFn<T, P>;
    attrs?: Attributes<T, P>;
    required?: boolean;
    disabled?: boolean;
    helptext?: string;
    options?: BagelFieldOptions<T, P>;
    defaultValue?: any;
    add?: boolean;
    delete?: boolean;
    transform?: (value: T) => T;
    schema?: MaybeRefOrGetter<BglFormSchemaT<T>>;
    modelValue: T[];
    type?: 'object' | 'number' | 'text';
}
export interface PrimitiveArrFieldT extends BaseBagelField<{
    value: string;
}, 'value'> {
    type: FieldArrayProps<{
        value: string;
    }, 'value'>['type'];
}
declare const _default: <T extends {
    [key: string]: any;
}, P extends Path<T>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
    props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
        readonly "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onUpdate:modelValue"> & FieldArrayProps<T, P> & Partial<{}>> & import('vue').PublicProps;
    expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
    attrs: any;
    slots: {};
    emit: (event: "update:modelValue", ...args: any[]) => void;
}>) => import('vue').VNode & {
    __ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_PrettifyLocal<T> = {
    [K in keyof T]: T[K];
} & {};
//# sourceMappingURL=FieldArray.vue.d.ts.map