import type { UploadFile } from 'antd/es/upload/interface';
import { SUPPORTED_LANGUAGES } from './constants';
export declare type Language = typeof SUPPORTED_LANGUAGES[number];
export interface MediaMetadata {
    width?: number;
    height?: number;
    duration?: number;
    bitrate?: number;
    cover?: File;
}
export interface FileCountValidation {
    multiple: boolean;
    minCount: number;
    maxCount: number;
    valueLength: number;
}
export interface ValidationResult {
    success: boolean;
    message?: string;
}
export interface MultilingualFile extends UploadFile {
    multilingual?: SingleMultilingualValue;
    multilingualFileList?: Record<Language, UploadFile[]>;
    response?: {
        status: boolean;
        data: {
            url: string;
        };
    };
}
export interface FileListOptions {
    enableMultilingual: boolean;
    multiple: boolean;
}
export declare type SingleUploadValue = string;
export declare type MultipleUploadValue = string[];
export declare type SingleMultilingualValue = Record<Language, string>;
export declare type MultipleMultilingualValue = SingleMultilingualValue[];
export declare type UploadValue = SingleUploadValue | MultipleUploadValue | SingleMultilingualValue | MultipleMultilingualValue;
export interface MultilingualUploadResponse {
    status: boolean;
    data: {
        url: string;
    };
}
export declare type UploadChangeHandler = (value: UploadValue) => void;
export declare type NonNullMultilingualValue = NonNullable<SingleMultilingualValue>;
export declare type NonNullMultilingualArray = NonNullMultilingualValue[];
