import { EventEmitter } from '../../stencil-public-runtime';
import { Printer, PrinterConfig, PrinterProperties } from '../../shared/types';
export declare class EzpPrinterSelection {
    private fileExtension;
    private printService;
    duplexOptions: {
        id: number;
        title: string;
    }[];
    ColorOptions: {
        id: number;
        title: string;
    }[];
    private printButton?;
    /**
     *
     * Properties
     *
     */
    clientID: string;
    redirectURI: string;
    filename: string;
    fileurl: string;
    filetype: string;
    fileid: string;
    files: File[];
    hidemenu: boolean;
    hideheader: boolean;
    seamless: boolean;
    /**
     *
     * States
     *
     */
    loading: boolean;
    printProcessing: boolean;
    pageRangeInvalid: boolean;
    uploading: boolean;
    preparingUpload: boolean;
    printSuccess: boolean;
    printFailed: boolean;
    notSupported: boolean;
    noPrinters: boolean;
    hubDriverError: boolean;
    userMenuOpen: boolean;
    printStopped: boolean;
    userName: string;
    printers: Printer[];
    selectedPrinter: Printer;
    printerConfig: PrinterConfig[];
    selectedPrinterConfig: PrinterConfig;
    selectedProperties: PrinterProperties;
    paperid: number | string;
    currentFileIndex: number;
    totalFiles: number;
    failedFiles: string[];
    successfulFiles: string[];
    partialSuccess: boolean;
    /**
     *
     * Events
     *
     */
    /** Description... */
    printCancel: EventEmitter<MouseEvent>;
    /** Description... */
    printSubmit: EventEmitter<MouseEvent>;
    logout: EventEmitter<MouseEvent>;
    /**
     *
     * Listeners
     *
     */
    listenInputValueChanged(event: CustomEvent): void;
    listenSelectSelection(event: CustomEvent): void;
    listenStepperChanged(event: CustomEvent): void;
    listenUserMenuClosure(): void;
    listenLogout(): void;
    listenStatusCancel(event: CustomEvent): void;
    listenStatusClose(event: CustomEvent): void;
    listenStatusRetry(event: CustomEvent): void;
    /**
     *
     * Private methods
     *
     */
    /** Description... */
    private handleCancel;
    private validateData;
    private POLL_INTERVAL;
    private MAX_POLL_ATTEMPTS;
    private HUB_TIMEOUT;
    /** Description... */
    private handlePrint;
    private handleUserMenu;
    private getPropertiesFromLocalStorage;
    private setPaperid;
    private getUserInfo;
    private setSelectedProperties;
    handleFiles(files: File[], printPorperties: any): Promise<void>;
    private processSingleFile;
    private waitForPrintCompletion;
    private getFileExtension;
    private validateFileType;
    setDefaultPaperFormat(): void;
    private processMultipleFiles;
    /**
     *
     * Lifecycle methods
     *
     */
    /** Description... */
    connectedCallback(): Promise<void>;
    /**
     *
     * Render method
     *
     */
    render(): any;
}
