import React from "react";
import type { WorkflowDesignerConfig, WorkflowDesignerProps, WorkflowDesignerUploadType, InnerWorkflowDesignerData, InnerWorkflowDesigner } from './types';
type LoadedWorkflowDesignerData = InnerWorkflowDesignerData & {
    __loadParams?: Pick<InnerWorkflowDesignerData, 'tenantId'>;
};
export default class WorkflowDesigner extends React.Component<WorkflowDesignerProps> {
    designerDivId: string;
    uploadFormId: string;
    uploadFileId: string;
    innerDesigner?: InnerWorkflowDesigner;
    uploadCallback: Function | null;
    uploadType: WorkflowDesignerUploadType | null;
    data?: InnerWorkflowDesignerData | null;
    resizeTimer?: number;
    constructor(props: WorkflowDesignerProps);
    /**
     * Clears the designer, equivalent of creating empty scheme design
     */
    clearScheme(): void;
    /**
     * Get Workflow Designer Errors
     *
     * @returns Errors in Workflow Designer
     */
    getDesignerErrors(): any;
    /**
     * Save Workflow scheme
     *
     * @param {function} successCallback Function which will be executed if save was successful
     * @param {function} errorCallback Function which will be executed if save operation failed
     */
    save(successCallback: Function, errorCallback: Function): void;
    /**
     * Download XML file which contain Workflow Scheme description
     */
    downloadScheme(): void;
    /**
     * Upload BPMN or XML file
     *
     * @param uploadType {string} Upload type, can be 'scheme' or 'bpmn'
     * @param {function} callback Function that will be executed after uploading file
     */
    upload(uploadType: WorkflowDesignerUploadType, callback: Function): void;
    /**
     * Check for scheme existence by the scheme code from props
     *
     * @returns {boolean} If scheme exists true, otherwise, false
     */
    isSchemeExist(): any;
    /**
     * Check for process existence by scheme code
     * and process id given in props
     *
     * @returns {boolean} If process exists true, otherwise, false
     */
    isProcessExist(): any;
    /**
     * Refresh data in WorkflowDesigner
     */
    refresh(): void;
    getTenantId(): string | undefined;
    normalizeTenantId(tenantId?: string | null): string | undefined;
    getLoadedTenantId(data?: LoadedWorkflowDesignerData | null): string | undefined;
    shouldReloadScheme(data?: LoadedWorkflowDesignerData | null): boolean;
    isSchemeOrProcessExist(data: InnerWorkflowDesignerData): any;
    uploadChange(): void;
    triggerUploadEvent(): void;
    loadScheme(): void;
    graphSize(): {
        width: number;
        height: number;
    };
    redrawDesigner(): void;
    processExistingDesigner(designerConfig: WorkflowDesignerConfig): void;
    createNewDesigner(designerConfig: WorkflowDesignerConfig): void;
    resizeDesigner(): void;
    render(): import("react/jsx-runtime").JSX.Element;
    componentDidMount(): void;
    componentDidUpdate(prevProps: WorkflowDesignerProps): void;
    componentWillUnmount(): void;
}
export {};
