import { ExtractPropTypes, PropType } from 'vue';
import { ConfigurableProps } from '@vexip-ui/config';
import { BeforeSelect, BeforeUpload, RenderFn, UploadFetchMethod, UploadFileOptions, UploadFileSlots, UploadFileState, UploadHttpError, UploadListSlots, UploadSlots } from './symbol';
export declare const uploadProps: {
    inherit: PropType<boolean>;
    state: PropType<"default" | "success" | "error" | "warning">;
    locale: PropType<Partial<{
        upload: string;
        uploading: string;
        dragOrClick: string;
        ariaLabel: {
            preview: string;
            delete: string;
        };
    }>>;
    url: PropType<string>;
    fileList: PropType<UploadFileOptions[]>;
    multiple: PropType<boolean>;
    tip: PropType<string>;
    accept: PropType<string | string[]>;
    filter: PropType<string | string[]>;
    maxSize: PropType<number>;
    field: PropType<string>;
    data: PropType<Record<string, string | Blob>>;
    headers: PropType<Record<string, string>>;
    withCredentials: PropType<boolean>;
    manual: PropType<boolean>;
    hiddenFiles: PropType<boolean>;
    countLimit: PropType<number>;
    allowDrag: PropType<boolean>;
    onBeforeUpload: PropType<BeforeUpload>;
    onBeforeSelect: PropType<BeforeSelect>;
    iconRenderer: PropType<RenderFn>;
    selectToAdd: PropType<boolean>;
    listType: PropType<"name" | "card" | "detail" | "thumbnail">;
    block: PropType<boolean>;
    loadingText: PropType<string>;
    directory: PropType<boolean>;
    pathField: PropType<string>;
    disabledClick: PropType<boolean>;
    buttonLabel: PropType<string>;
    disabled: PropType<boolean>;
    loading: PropType<boolean>;
    loadingIcon: PropType<any>;
    loadingLock: PropType<boolean>;
    loadingEffect: PropType<string>;
    image: PropType<boolean>;
    defaultFiles: PropType<UploadFileOptions[]>;
    canPreview: PropType<(file: UploadFileState) => boolean>;
    listStyle: PropType<string | import('vue').CSSProperties | (string | import('vue').CSSProperties)[]>;
    name: PropType<string>;
    customFetch: PropType<UploadFetchMethod>;
    slots: PropType<UploadSlots>;
    onExceed: PropType<((files: UploadFileState[]) => void) | ((files: UploadFileState[]) => void)[]>;
    onChange: PropType<((files: UploadFileState[]) => void) | ((files: UploadFileState[]) => void)[]>;
    onFilterError: PropType<((files: UploadFileState) => void) | ((files: UploadFileState) => void)[]>;
    onSizeError: PropType<((files: UploadFileState) => void) | ((files: UploadFileState) => void)[]>;
    onDelete: PropType<((file: UploadFileState) => void) | ((file: UploadFileState) => void)[]>;
    onPreview: PropType<((file: UploadFileState) => void) | ((file: UploadFileState) => void)[]>;
    onProgress: PropType<((file: UploadFileState, percent: number) => void) | ((file: UploadFileState, percent: number) => void)[]>;
    onSuccess: PropType<((file: UploadFileState, response: any) => void) | ((file: UploadFileState, response: any) => void)[]>;
    onError: PropType<((file: UploadFileState, error: UploadHttpError) => void) | ((file: UploadFileState, error: UploadHttpError) => void)[]>;
};
export type UploadProps = ExtractPropTypes<typeof uploadProps>;
export type UploadCProps = ConfigurableProps<UploadProps, 'url' | 'fileList', 'onBeforeUpload' | 'onBeforeSelect'>;
export declare const uploadListProps: {
    inherit: PropType<boolean>;
    files: PropType<UploadFileState[]>;
    selectToAdd: PropType<boolean>;
    iconRenderer: PropType<RenderFn>;
    type: PropType<"name" | "card" | "detail" | "thumbnail">;
    loadingText: PropType<string>;
    style: PropType<string | import('vue').CSSProperties | (string | import('vue').CSSProperties)[]>;
    precision: PropType<number>;
    canPreview: PropType<(file: UploadFileState) => boolean>;
    slots: PropType<UploadListSlots>;
    onDelete: PropType<((file: UploadFileState) => void) | ((file: UploadFileState) => void)[]>;
    onPreview: PropType<((file: UploadFileState) => void) | ((file: UploadFileState) => void)[]>;
};
export type UploadListProps = ExtractPropTypes<typeof uploadListProps>;
export type UploadListCProps = ConfigurableProps<UploadListProps, 'files'>;
export declare const uploadFileProps: {
    inherit: PropType<boolean>;
    locale: PropType<Partial<{
        upload: string;
        uploading: string;
        dragOrClick: string;
        ariaLabel: {
            preview: string;
            delete: string;
        };
    }>>;
    file: PropType<UploadFileState>;
    iconRenderer: PropType<RenderFn>;
    listType: PropType<"name" | "card" | "detail" | "thumbnail">;
    loadingText: PropType<string>;
    selectToAdd: PropType<boolean>;
    precision: PropType<number>;
    canPreview: PropType<(file: UploadFileState) => boolean>;
    slots: PropType<UploadFileSlots>;
    onDelete: PropType<((file: UploadFileState) => void) | ((file: UploadFileState) => void)[]>;
    onPreview: PropType<((file: UploadFileState) => void) | ((file: UploadFileState) => void)[]>;
};
export type UploadFileProps = ExtractPropTypes<typeof uploadFileProps>;
export type UploadFileCProps = ConfigurableProps<UploadFileProps, 'file'>;
