import { AllowedComponentProps } from 'vue';
import { ComponentCustomProps } from 'vue';
import { RendererElement } from 'vue';
import { RendererNode } from 'vue';
import { ShallowUnwrapRef } from 'vue';
import { VNode } from 'vue';
import { VNodeProps } from 'vue';

declare const _default: <ThumbnailItem extends ThumbnailDefinition>(__VLS_props: {
    readonly onClick?: ((index: number) => any) | undefined;
    readonly onRemove?: ((index: number) => any) | undefined;
    variant?: ThumbnailVariant | undefined;
    thumbnail: ThumbnailItem;
    altText?: string | undefined;
} & VNodeProps & AllowedComponentProps & ComponentCustomProps, __VLS_ctx?: {
    attrs: any;
    slots: {
        hint?(_: {}): any;
    };
    emit: ((evt: "remove", index: number) => void) & ((evt: "click", index: number) => void);
} | undefined, __VLS_expose?: ((exposed: ShallowUnwrapRef<    {}>) => void) | undefined, __VLS_setup?: Promise<{
    props: {
        readonly onClick?: ((index: number) => any) | undefined;
        readonly onRemove?: ((index: number) => any) | undefined;
        variant?: ThumbnailVariant | undefined;
        thumbnail: ThumbnailItem;
        altText?: string | undefined;
    } & VNodeProps & AllowedComponentProps & ComponentCustomProps;
    expose(exposed: ShallowUnwrapRef<    {}>): void;
    attrs: any;
    slots: {
        hint?(_: {}): any;
    };
    emit: ((evt: "remove", index: number) => void) & ((evt: "click", index: number) => void);
}>) => VNode<RendererNode, RendererElement, {
[key: string]: any;
}> & {
    __ctx?: {
        props: {
            readonly onClick?: ((index: number) => any) | undefined;
            readonly onRemove?: ((index: number) => any) | undefined;
            variant?: ThumbnailVariant | undefined;
            thumbnail: ThumbnailItem;
            altText?: string | undefined;
        } & VNodeProps & AllowedComponentProps & ComponentCustomProps;
        expose(exposed: ShallowUnwrapRef<    {}>): void;
        attrs: any;
        slots: {
            hint?(_: {}): any;
        };
        emit: ((evt: "remove", index: number) => void) & ((evt: "click", index: number) => void);
    } | undefined;
};
export default _default;

export declare interface ThumbnailDefinition {
    id: number | string;
    imageUrl: string;
}

export declare type ThumbnailVariant = 'opaque' | 'translucent';

export { }
