import { FloatingProps } from '../floating/itlab-floating.vue';
import { AbsoluteIconContainerProps } from '../icon/itlab-absolute-icon-container.vue';
import { LabJsonContentImage } from 'itlab-functions';
import { Icon } from 'itlab-icons';
type MenuThumbnailFormatProps = FloatingProps & {
    label: string;
    icon: Icon;
    iconContainer?: Omit<AbsoluteIconContainerProps, 'icon'>;
    noSrc?: boolean;
    isRemoveable?: boolean;
};
type __VLS_Props = MenuThumbnailFormatProps;
type __VLS_ModelProps = {
    modelValue: LabJsonContentImage;
    'visible'?: boolean;
};
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
declare var __VLS_81: {};
type __VLS_Slots = {} & {
    default?: (props: typeof __VLS_81) => any;
};
declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, Readonly<import('../floating/floating.proxy').FloatingProxy>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    "update:modelValue": (value: import('itlab-functions').LabThumbnail) => any;
    "update:visible": (value: boolean | undefined) => any;
} & {
    remove: () => any;
    "before-enter": () => any;
    "after-enter": () => any;
    "before-leave": () => any;
    "after-leave": () => any;
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
    "onUpdate:modelValue"?: ((value: import('itlab-functions').LabThumbnail) => any) | undefined;
    onRemove?: (() => any) | undefined;
    "onBefore-enter"?: (() => any) | undefined;
    "onAfter-enter"?: (() => any) | undefined;
    "onBefore-leave"?: (() => any) | undefined;
    "onAfter-leave"?: (() => any) | undefined;
    "onUpdate:visible"?: ((value: boolean | undefined) => any) | undefined;
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
declare const _default: typeof __VLS_export;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
