import { ITenantAttribute } from '../services/api/DataHub/Attributes';
import { ITenantAttributeScope } from '../services/api/DataHub/Scopes';
import { ITenantAttributeLanguage } from '../services/api/DataHub/Languages';
import { ILangScopeItem, IBlockedAttributes } from './external/dataTypes/models';

declare function __VLS_template(): Readonly<{
    prepend?: (props: {
        attribute: ITenantAttribute;
        scope?: ITenantAttributeScope;
        language?: ITenantAttributeLanguage;
        readonly?: boolean;
        loading?: boolean;
    }) => void;
}> & {
    prepend?: (props: {
        attribute: ITenantAttribute;
        scope?: ITenantAttributeScope;
        language?: ITenantAttributeLanguage;
        readonly?: boolean;
        loading?: boolean;
    }) => void;
};
declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    modelValue: import('vue').PropType<object>;
    loading: {
        type: import('vue').PropType<boolean>;
    };
    readonly: {
        type: import('vue').PropType<boolean>;
    };
    selection: {
        type: import('vue').PropType<ILangScopeItem[]>;
        default: any;
    };
    prefix: {
        type: import('vue').PropType<string>;
        default: any;
    };
    attributes: {
        type: import('vue').PropType<ITenantAttribute<import('..').IDataTypesAttributeConfigurationAbstract>[]>;
        default: () => any[];
    };
    languages: {
        type: import('vue').PropType<ITenantAttributeLanguage[]>;
        default: any;
    };
    scopes: {
        type: import('vue').PropType<ITenantAttributeScope[]>;
        default: any;
    };
    scopable: {
        type: import('vue').PropType<boolean>;
    };
    multilanguage: {
        type: import('vue').PropType<boolean>;
    };
    blockedAttributes: {
        type: import('vue').PropType<IBlockedAttributes>;
        default: any;
    };
}>, {
    scrollToIndex?: (index: number) => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    "field-names": (value: string[]) => void;
    edited: (fieldName: string, value: unknown) => void;
    validated: (isValid: boolean) => void;
    updated: () => void;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    modelValue: import('vue').PropType<object>;
    loading: {
        type: import('vue').PropType<boolean>;
    };
    readonly: {
        type: import('vue').PropType<boolean>;
    };
    selection: {
        type: import('vue').PropType<ILangScopeItem[]>;
        default: any;
    };
    prefix: {
        type: import('vue').PropType<string>;
        default: any;
    };
    attributes: {
        type: import('vue').PropType<ITenantAttribute<import('..').IDataTypesAttributeConfigurationAbstract>[]>;
        default: () => any[];
    };
    languages: {
        type: import('vue').PropType<ITenantAttributeLanguage[]>;
        default: any;
    };
    scopes: {
        type: import('vue').PropType<ITenantAttributeScope[]>;
        default: any;
    };
    scopable: {
        type: import('vue').PropType<boolean>;
    };
    multilanguage: {
        type: import('vue').PropType<boolean>;
    };
    blockedAttributes: {
        type: import('vue').PropType<IBlockedAttributes>;
        default: any;
    };
}>> & Readonly<{
    onUpdated?: () => any;
    onValidated?: (isValid: boolean) => any;
    onEdited?: (fieldName: string, value: unknown) => any;
    "onField-names"?: (value: string[]) => any;
}>, {
    selection: ILangScopeItem[];
    prefix: string;
    attributes: ITenantAttribute[];
    languages: ITenantAttributeLanguage[];
    scopes: ITenantAttributeScope[];
    blockedAttributes: IBlockedAttributes;
}, {}, {}, {}, 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;
    };
};
