import { ImageProps } from '../image';
import { TNode } from '../common';
export interface TdConfigProviderProps {
    globalConfig?: GlobalConfigProvider;
}
export interface GlobalConfigProvider {
    actionSheet?: ActionSheetConfig;
    calendar?: CalendarConfig;
    cascader?: CascaderConfig;
    classPrefix?: string;
    dateTimePicker?: DateTimePickerConfig;
    dropdownMenu?: DropdownMenuConfig;
    guide?: GuideConfig;
    list?: ListConfig;
    picker?: PickerConfig;
    pullDownRefresh?: PullDownRefreshConfig;
    qrcode?: QRCodeConfig;
    rate?: RateConfig;
    tabBar?: TabBarConfig;
    table?: TableConfig;
    typography?: TypographyConfig;
    upload?: UploadConfig;
}
export interface ActionSheetConfig {
    cancel?: string;
}
export interface CalendarConfig {
    confirm?: string;
    monthTitle?: string;
    months?: string[];
    title?: string;
    weekdays?: string[];
}
export interface CascaderConfig {
    placeholder?: string;
    title?: string;
}
export interface DateTimePickerConfig {
    cancel?: string;
    confirm?: string;
    dateLabel?: string;
    format?: string;
    hourLabel?: string;
    minuteLabel?: string;
    monthLabel?: string;
    secondLabel?: string;
    title?: string;
    yearLabel?: string;
}
export interface DropdownMenuConfig {
    confirm?: string;
    reset?: string;
}
export interface GuideConfig {
    back?: string;
    finish?: string;
    next?: string;
    skip?: string;
}
export interface ImageConfig {
    errorText?: string;
    loadingText?: string;
    replaceImageSrc?: (params: ImageProps) => string;
}
export interface InputConfig {
    placeholder?: string;
}
export interface ListConfig {
    loading?: string;
    loadingMoreText?: string;
    loosing?: string;
    pulling?: string;
    success?: string;
}
export interface PickerConfig {
    cancel?: string;
    confirm?: string;
}
export interface PullDownRefreshConfig {
    loadingTexts?: string[];
}
export interface QRCodeConfig {
    expiredText?: string;
    refreshText?: string;
    scannedText?: string;
}
export interface RateConfig {
    noValueText?: string;
    valueText?: string;
}
export interface TabBarConfig {
    haveMoreNewsAriaLabel?: string;
    haveNewsAriaLabel?: string;
    moreNewsAriaLabel?: string;
    newsAriaLabel?: string;
}
export interface TableConfig {
    empty?: string | TNode;
}
export interface UploadConfig {
    progress?: UploadConfigProgress;
}
export interface TypographyConfig {
    expandText?: string;
    collapseText?: string;
    copiedText?: string;
}
export interface UploadConfigProgress {
    failText?: string;
    successText?: string;
    uploadingText?: string;
    waitingText?: string;
}
