import { OnChanges, EventEmitter } from "@angular/core";
import { CssUtils } from "../utils";
import { SimpleChanges } from "@angular/core";
import { BehaviorSubject } from "rxjs";
import { UploadService } from "./services/upload.service";
import { Space, Spacing, UploadProperties } from "./dxc-upload.type";
import * as i0 from "@angular/core";
export declare class DxcUploadComponent implements OnChanges {
    private utils;
    private service;
    private files;
    uploadedFiles: any[];
    newFile: EventEmitter<any>;
    /**
     * This function will be called when the user clicks the 'Upload' button for every file to be uploaded, we will as a parameter the File object; apart from that this function should return one promise on which we should make 'then'(here we should show a Success alert) or 'catch' (in this case we would receive the error message as a string)
     */
    uploadCallback: Function;
    /**
     * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge'). You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
     */
    margin: Spacing | Space;
    /**
     * Value of the tabindex given to every interactuable elements.
     */
    get tabIndexValue(): number;
    set tabIndexValue(value: number);
    private _tabIndexValue;
    className: any;
    styleDxcUpload: string;
    defaultInputs: BehaviorSubject<UploadProperties>;
    constructor(utils: CssUtils, service: UploadService);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    addFiles($event: any): void;
    getPreview(file: any): void;
    getFilesToUpload(): {}[];
    getUploadedFiles(): void;
    getSuccessfullyUploadedFiles(): number;
    toUploadVisibility(): boolean;
    uploadedVisibility(): boolean;
    handleUpload(): void;
    setDxcUploadDynamicStyle(input: any): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<DxcUploadComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DxcUploadComponent, "dxc-upload", never, { "uploadCallback": "uploadCallback"; "margin": "margin"; "tabIndexValue": "tabIndexValue"; }, {}, never, never>;
}
//# sourceMappingURL=dxc-upload.component.d.ts.map