import { InjectionToken } from "@angular/core";
import * as i0 from "@angular/core";
export declare enum NgxFileUploadUiI18nKey {
    Common = "common",
    UploadItem = "item",
    ToolBar = "toolbar"
}
interface Labels {
    [key: string]: string;
}
export interface NgxFileUploadUiI18nCommon extends Labels {
    SELECT_FILES: string;
}
export interface NgxFileUploadUiI18nToolbar extends Labels {
    CLEAN_UP: string;
    REMOVE_ALL: string;
    UPLOAD_ALL: string;
    UPLOADS: string;
}
export interface NgxFileUploadUiI18nItem extends Labels {
    UPLOADED: string;
}
declare type NgxFileuploadI18nValue = NgxFileUploadUiI18nCommon | NgxFileUploadUiI18nItem | NgxFileUploadUiI18nToolbar | undefined;
/** all labels which exists */
export interface NgxFileUploadUiI18n {
    [key: string]: NgxFileUploadUiI18nCommon | NgxFileUploadUiI18nItem | NgxFileUploadUiI18nToolbar | undefined;
    common?: NgxFileUploadUiI18nCommon;
    item?: NgxFileUploadUiI18nItem;
    toolbar?: NgxFileUploadUiI18nToolbar;
}
/**
 * injection token
 */
export declare const NGX_FILE_UPLOAD_UI_I18N: InjectionToken<NgxFileUploadUiI18n>;
export declare class NgxFileUploadUiI18nProvider {
    private labels;
    constructor(labels: NgxFileUploadUiI18n);
    getI18n<T extends NgxFileuploadI18nValue>(k: NgxFileUploadUiI18nKey): T;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgxFileUploadUiI18nProvider, [{ optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<NgxFileUploadUiI18nProvider>;
}
export {};
