//@ts-ignore
import React, { Component } from 'react';
import { ProgressDialogSink, ProgressStep } from './Types';
import GcPdfViewer from '..';
import { TaskStatusAnswer } from '../SupportApi/ISupportApiBase';
/// <reference path="../vendor/i18next.d.ts" />
//@ts-ignore

import { i18n } from 'i18next';
export type ProgressDialogState = {
    showModal: boolean;
    value: number;
    message: string;
    disableCancel?: boolean;
    version: number;
};
export type ProgressDialogProps = {
    viewer: GcPdfViewer;
};
export declare class ProgressDialog extends Component<ProgressDialogProps, ProgressDialogState> {
    private _level?;
    private _title;
    private _viewer?;
    private _sink;
    private _shown;
    constructor(props: any, context: any);
    state: {
        showModal: boolean;
        value: number;
        message: string;
        disableCancel: boolean;
        version: number;
    };
    get viewer(): GcPdfViewer;
    show(viewer: GcPdfViewer, title: string, message: string, level?: "info" | "warning" | "error", disableCancel?: boolean): ProgressDialogSink;
    onCancelClick(): void;
    cancel(error?: string | Error): void;
    complete(correlationId?: string): void;
    _statusCheckTimeout: any;
    _statusCheckCorrelationId?: string;
    startStatusCheck(correlationId?: string): boolean;
    continueStatusCheck(correlationId: string): boolean;
    get in17n(): i18n;
    updateTaskStatusMessage(status: TaskStatusAnswer): void;
    progress(value: number, message: string): void;
    onStep(stepName: ProgressStep, params?: {
        disableCancel?: boolean;
    }): void;
    forceUpdateInternal(): void;
//@ts-ignore
//@ts-ignore
    render(): React.JSX.Element;
}
