import { type PropType } from 'vue';
import type { Policy } from '@authup/core-kit';
import type { FormSelectOption } from '@vuecs/form-controls';
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    entity: {
        type: PropType<Policy>;
    };
}>, {
    isEditing: import("vue").ComputedRef<boolean>;
    realmId: import("vue").ComputedRef<string>;
    handleUpdated: () => void;
    typeOptions: FormSelectOption[];
    vuelidate: import("vue").Ref<import("@vuelidate/core").Validation<{
        name: {
            required: import("@vuelidate/core").ValidationRuleWithoutParams<any>;
            minLength: import("@vuelidate/core").ValidationRuleWithParams<{
                min: number;
            }, any>;
            maxLength: import("@vuelidate/core").ValidationRuleWithParams<{
                max: number;
            }, any>;
        };
        invert: {};
        display_name: {
            minLength: import("@vuelidate/core").ValidationRuleWithParams<{
                min: number;
            }, any>;
            maxLength: import("@vuelidate/core").ValidationRuleWithParams<{
                max: number;
            }, any>;
        };
        description: {
            minLength: import("@vuelidate/core").ValidationRuleWithParams<{
                min: number;
            }, any>;
            maxLength: import("@vuelidate/core").ValidationRuleWithParams<{
                max: number;
            }, any>;
        };
        realm_id: {};
    }, {
        name: string;
        invert: boolean;
        display_name: string;
        description: string;
        realm_id: string;
    }>, import("@vuelidate/core").Validation<{
        name: {
            required: import("@vuelidate/core").ValidationRuleWithoutParams<any>;
            minLength: import("@vuelidate/core").ValidationRuleWithParams<{
                min: number;
            }, any>;
            maxLength: import("@vuelidate/core").ValidationRuleWithParams<{
                max: number;
            }, any>;
        };
        invert: {};
        display_name: {
            minLength: import("@vuelidate/core").ValidationRuleWithParams<{
                min: number;
            }, any>;
            maxLength: import("@vuelidate/core").ValidationRuleWithParams<{
                max: number;
            }, any>;
        };
        description: {
            minLength: import("@vuelidate/core").ValidationRuleWithParams<{
                min: number;
            }, any>;
            maxLength: import("@vuelidate/core").ValidationRuleWithParams<{
                max: number;
            }, any>;
        };
        realm_id: {};
    }, {
        name: string;
        invert: boolean;
        display_name: string;
        description: string;
        realm_id: string;
    }>>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "updated"[], "updated", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    entity: {
        type: PropType<Policy>;
    };
}>> & Readonly<{
    onUpdated?: (...args: any[]) => any;
}>, {}, {}, {
    ARealmPicker: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        query: {
            type: PropType<import("rapiq").BuildInput<import("@authup/core-kit").Realm>>;
            default(): {};
        };
        realmId: {
            type: StringConstructor;
            default: any;
        };
        loadOnSetup: {
            type: BooleanConstructor;
            default: boolean;
        };
        loading: {
            type: PropType<boolean | import("../..").ListLoadingOptions<import("@authup/core-kit").Realm>>;
            default: boolean;
        };
        noMore: {
            type: PropType<boolean | import("../..").ListNoMoreOptions<import("@authup/core-kit").Realm>>;
            default: boolean;
        };
        footer: {
            type: PropType<boolean | import("../..").ListFooterOptions<import("@authup/core-kit").Realm>>;
            default: boolean;
        };
        header: {
            type: PropType<boolean | import("../..").ListHeaderOptions<import("@authup/core-kit").Realm>>;
            default: boolean;
        };
        body: {
            type: PropType<import("../..").ListBodyOptions<import("@authup/core-kit").Realm>>;
        };
        value: {
            type: PropType<string[] | string | null>;
        };
        multiple: {
            type: PropType<boolean | undefined>;
        };
    }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        change: (values: string[]) => true;
    } & import("../..").EntityCollectionVEmitOptions<import("@authup/core-kit").Realm>, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        query: {
            type: PropType<import("rapiq").BuildInput<import("@authup/core-kit").Realm>>;
            default(): {};
        };
        realmId: {
            type: StringConstructor;
            default: any;
        };
        loadOnSetup: {
            type: BooleanConstructor;
            default: boolean;
        };
        loading: {
            type: PropType<boolean | import("../..").ListLoadingOptions<import("@authup/core-kit").Realm>>;
            default: boolean;
        };
        noMore: {
            type: PropType<boolean | import("../..").ListNoMoreOptions<import("@authup/core-kit").Realm>>;
            default: boolean;
        };
        footer: {
            type: PropType<boolean | import("../..").ListFooterOptions<import("@authup/core-kit").Realm>>;
            default: boolean;
        };
        header: {
            type: PropType<boolean | import("../..").ListHeaderOptions<import("@authup/core-kit").Realm>>;
            default: boolean;
        };
        body: {
            type: PropType<import("../..").ListBodyOptions<import("@authup/core-kit").Realm>>;
        };
        value: {
            type: PropType<string[] | string | null>;
        };
        multiple: {
            type: PropType<boolean | undefined>;
        };
    }>> & Readonly<{
        onUpdated?: (item: import("@authup/core-kit").Realm) => any;
        onDeleted?: (item: import("@authup/core-kit").Realm) => any;
        onCreated?: (item: import("@authup/core-kit").Realm) => any;
        onChange?: (values: string[]) => any;
    }>, {
        footer: boolean;
        header: boolean;
        query: import("rapiq").BuildInput<import("@authup/core-kit").Realm>;
        realmId: string;
        loadOnSetup: boolean;
        loading: boolean;
        noMore: boolean;
    }, import("vue").SlotsType<import("../..").EntityPickerVSlots<import("@authup/core-kit").Realm>>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    VCFormInput: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        modelValue: {
            type: StringConstructor;
            default: string;
        };
        type: {
            type: StringConstructor;
            default: string;
        };
        groupAppendClass: {
            type: StringConstructor;
        };
        groupPrependClass: {
            type: StringConstructor;
        };
    }>, () => import("vue").VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        modelValue: {
            type: StringConstructor;
            default: string;
        };
        type: {
            type: StringConstructor;
            default: string;
        };
        groupAppendClass: {
            type: StringConstructor;
        };
        groupPrependClass: {
            type: StringConstructor;
        };
    }>> & Readonly<{
        "onUpdate:modelValue"?: (...args: any[]) => any;
    }>, {
        type: string;
        modelValue: string;
    }, import("vue").SlotsType<{
        groupAppend: {
            class: string;
            tag: string;
        };
        groupPrepend: {
            class: string;
            tag: string;
        };
    }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    VCFormInputCheckbox: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        modelValue: {
            type: PropType<unknown | unknown[]>;
        };
        group: {
            type: BooleanConstructor;
        };
        groupClass: {
            type: StringConstructor;
        };
        label: {
            type: BooleanConstructor;
        };
        labelClass: {
            type: StringConstructor;
        };
        labelContent: {
            type: StringConstructor;
        };
    }>, () => import("vue").VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        modelValue: {
            type: PropType<unknown | unknown[]>;
        };
        group: {
            type: BooleanConstructor;
        };
        groupClass: {
            type: StringConstructor;
        };
        label: {
            type: BooleanConstructor;
        };
        labelClass: {
            type: StringConstructor;
        };
        labelContent: {
            type: StringConstructor;
        };
    }>> & Readonly<{
        "onUpdate:modelValue"?: (...args: any[]) => any;
    }>, {
        label: boolean;
        group: boolean;
    }, import("vue").SlotsType<{
        label: import("@vuecs/form-controls").FormInputCheckboxLabelSlotProps;
    }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    VCFormGroup: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        label: {
            type: BooleanConstructor;
            default: any;
        };
        labelClass: {
            type: StringConstructor;
        };
        labelContent: {
            type: StringConstructor;
        };
        hint: {
            type: BooleanConstructor;
            default: any;
        };
        hintClass: {
            type: StringConstructor;
        };
        hintContent: {
            type: StringConstructor;
        };
        validation: {
            type: BooleanConstructor;
            default: any;
        };
        validationSeverity: {
            type: PropType<`${import("@vuecs/form-controls").ValidationSeverity}` | undefined>;
            default: any;
        };
        validationMessages: {
            type: PropType<import("@vuecs/form-controls").ValidationMessages>;
            default: any;
        };
    }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        label: {
            type: BooleanConstructor;
            default: any;
        };
        labelClass: {
            type: StringConstructor;
        };
        labelContent: {
            type: StringConstructor;
        };
        hint: {
            type: BooleanConstructor;
            default: any;
        };
        hintClass: {
            type: StringConstructor;
        };
        hintContent: {
            type: StringConstructor;
        };
        validation: {
            type: BooleanConstructor;
            default: any;
        };
        validationSeverity: {
            type: PropType<`${import("@vuecs/form-controls").ValidationSeverity}` | undefined>;
            default: any;
        };
        validationMessages: {
            type: PropType<import("@vuecs/form-controls").ValidationMessages>;
            default: any;
        };
    }>> & Readonly<{}>, {
        label: boolean;
        hint: boolean;
        validation: boolean;
        validationMessages: import("@vuecs/form-controls").ValidationMessages;
        validationSeverity: "error" | "warning";
    }, import("vue").SlotsType<{
        default: undefined;
        label: undefined;
        hint: undefined;
    }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    IVuelidate: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        validation: {
            type: PropType<Record<string, any>>;
            required: true;
        };
    }>, () => import("vue").VNodeArrayChildren, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        validation: {
            type: PropType<Record<string, any>>;
            required: true;
        };
    }>> & Readonly<{}>, {}, import("vue").SlotsType<{
        default: import("@ilingo/vuelidate").SlotProps;
    }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
//# sourceMappingURL=APolicyBasicForm.vue.d.ts.map