import { ILinkGetter } from './models';

declare const _default: <T extends {
    id: number | string;
}>(__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 onReplace?: (value: {
            oldImage: T;
            file: File;
        }) => any;
        readonly onCreate?: () => any;
        readonly onRemove?: (value: {
            image: T;
            index: number;
        }) => any;
    } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>) & ({
        modelValue: T[];
        readonly?: boolean;
        canRemove?: boolean;
        hideReplace?: boolean;
        removeApi?: (fileId: number | string) => Promise<unknown>;
        getPreviewLink?: ILinkGetter<T>;
        getDownloadLink?: ILinkGetter<T>;
        previewPrefix?: string;
        getAltText?: ILinkGetter<T>;
        addImage?: () => T;
    } & {
        modelValue?: T[];
    }), 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<{
        editor?: (props: {
            item: T;
        }) => void;
        details?: (props: {
            item: T;
        }) => void;
    }> & {
        editor?: (props: {
            item: T;
        }) => void;
        details?: (props: {
            item: T;
        }) => void;
    }>;
    emit: {
        (event: "create"): void;
        (event: "replace", value: {
            oldImage: T;
            file: File;
        }): void;
        (event: "remove", value: {
            image: T;
            index: number;
        }): void;
    };
}>) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
    [key: string]: any;
}> & {
    __ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
