import { ILinkGetter } from './models';

declare const _default: <T extends object>(__VLS_props: Awaited<typeof __VLS_setup>["props"], __VLS_ctx?: __VLS_Prettify<Pick<Awaited<typeof __VLS_setup>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
    props: __VLS_Prettify<__VLS_OmitKeepDiscriminatedUnion<(Partial<{}> & Omit<{
        readonly onDelete?: () => any;
        readonly onZoom_out?: () => any;
        readonly "onChange-image"?: (file: File) => any;
    } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>) & {
        image: T;
        expanded?: boolean;
        readonly?: boolean;
        hideReplace?: boolean;
        getPreviewLink: ILinkGetter<T>;
        getDownloadLink: ILinkGetter<T>;
        getAltText?: ILinkGetter<T>;
        previewPrefix?: string;
    }, keyof import('vue').VNodeProps | keyof import('vue').AllowedComponentProps>> & {} & (import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps);
    expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
    attrs: any;
    slots: ReturnType<() => Readonly<{
        default: (props: {
            item: T;
        }) => void;
        details: (props: {
            item: T;
        }) => void;
    }> & {
        default: (props: {
            item: T;
        }) => void;
        details: (props: {
            item: T;
        }) => void;
    }>;
    emit: {
        (event: "zoom_out"): void;
        (event: "delete"): void;
        (event: "change-image", file: File): void;
    };
}>) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
    [key: string]: any;
}> & {
    __ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_Prettify<T> = {
    [K in keyof T]: T[K];
} & {};
