declare function __VLS_template(): {
    default?(_: {
        v: import('@vuelidate/core').Validation<{
            key: {
                pattern: import('@vuelidate/core').ValidationRuleWithParams<object, any>;
                required: import('@vuelidate/core').ValidationRuleWithParams<object, any>;
            };
            active: {};
        }, {
            key: {
                pattern: import('@vuelidate/core').ValidationRuleWithParams<object, any>;
                required: import('@vuelidate/core').ValidationRuleWithParams<object, any>;
            };
            active: {};
        }>;
        validations: {
            additionalError: import('vue').Ref<string, string>;
            changedFields: import('vue').ComputedRef<string[]>;
            activeErrors: import('vue').ComputedRef<string[]>;
        };
        form: object & {
            key: string;
            active: true;
        };
    }): any;
};
declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    modelValue: import('vue').PropType<boolean>;
    form: import('vue').PropType<object & {
        key: string;
        active: true;
    }>;
    title: {
        type: import('vue').PropType<string>;
        required: true;
    };
    controller: {
        type: import('vue').PropType<string>;
        required: true;
    };
    rules: {
        type: import('vue').PropType<object>;
    };
    loading: {
        type: import('vue').PropType<boolean>;
    };
    hideEditOnSave: {
        type: import('vue').PropType<boolean>;
    };
    pluginName: {
        type: import('vue').PropType<string>;
        required: true;
    };
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    save: (attribute: object, shouldEdit: boolean) => void;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    modelValue: import('vue').PropType<boolean>;
    form: import('vue').PropType<object & {
        key: string;
        active: true;
    }>;
    title: {
        type: import('vue').PropType<string>;
        required: true;
    };
    controller: {
        type: import('vue').PropType<string>;
        required: true;
    };
    rules: {
        type: import('vue').PropType<object>;
    };
    loading: {
        type: import('vue').PropType<boolean>;
    };
    hideEditOnSave: {
        type: import('vue').PropType<boolean>;
    };
    pluginName: {
        type: import('vue').PropType<string>;
        required: true;
    };
}>> & Readonly<{
    onSave?: (attribute: object, shouldEdit: boolean) => any;
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
