import type { ChatImageData } from '@/types';
interface Props {
    enableImageUpload?: boolean;
    multiImageEnabled?: boolean;
}
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
    enableImageUpload: boolean;
    multiImageEnabled: boolean;
}>>, {
    selectedImage: import("vue").Ref<string, string>;
    selectedImages: import("vue").Ref<{
        base64: string;
        file: {
            readonly lastModified: number;
            readonly name: string;
            readonly webkitRelativePath: string;
            readonly size: number;
            readonly type: string;
            arrayBuffer: () => Promise<ArrayBuffer>;
            slice: (start?: number | undefined, end?: number | undefined, contentType?: string | undefined) => Blob;
            stream: () => ReadableStream<Uint8Array>;
            text: () => Promise<string>;
        };
        size: number;
        type: string;
        name: string;
    }[], ChatImageData[] | {
        base64: string;
        file: {
            readonly lastModified: number;
            readonly name: string;
            readonly webkitRelativePath: string;
            readonly size: number;
            readonly type: string;
            arrayBuffer: () => Promise<ArrayBuffer>;
            slice: (start?: number | undefined, end?: number | undefined, contentType?: string | undefined) => Blob;
            stream: () => ReadableStream<Uint8Array>;
            text: () => Promise<string>;
        };
        size: number;
        type: string;
        name: string;
    }[]>;
    clearImages: () => void;
    removeSelectedImage: (index?: number | undefined) => void;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    imageSelect: (imageData: ChatImageData) => void;
    imageRemove: (imageData?: ChatImageData | undefined) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
    enableImageUpload: boolean;
    multiImageEnabled: boolean;
}>>> & Readonly<{
    onImageSelect?: ((imageData: ChatImageData) => any) | undefined;
    onImageRemove?: ((imageData?: ChatImageData | undefined) => any) | undefined;
}>, {
    enableImageUpload: boolean;
    multiImageEnabled: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
type __VLS_TypePropsToRuntimeProps<T> = {
    [K in keyof T]-?: {} extends Pick<T, K> ? {
        type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
    } : {
        type: import('vue').PropType<T[K]>;
        required: true;
    };
};
type __VLS_WithDefaults<P, D> = {
    [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
        default: D[K];
    }> : P[K];
};
type __VLS_Prettify<T> = {
    [K in keyof T]: T[K];
} & {};
//# sourceMappingURL=ImageUpload.vue.d.ts.map