//@ts-ignore
import React, { Component, MouseEvent } from 'react';
import { DocumentInformation } from './DocumentInformation';
import { DocumentSecuritySummary } from '../Security/DocumentSecuritySummary';
/// <reference path="../vendor/i18next.d.ts" />
//@ts-ignore
import { i18n } from 'i18next';
export type PropertiesDialogProps = {
    i18n: i18n;
};
export declare class PropertiesDialog extends Component<PropertiesDialogProps, DocumentInformation> {
    private _windowResizeHandler?;
    createTabsMetaData(): void;
    rootElement: HTMLDivElement;
    constructor(props: any);
    get isVisible(): boolean;
    close(): void;
    shouldComponentUpdate(): boolean;
    show(metaDataPromise: Promise<DocumentInformation>, permissionsPromise: Promise<DocumentSecuritySummary>): void;
    hide(): void;
    onWindowSizeChanged(): void;
    onMouseUp(e: any): boolean;
//@ts-ignore
//@ts-ignore
    render(): React.JSX.Element;
    showTab(e: MouseEvent): void;
    _showTabInternal(className: string): void;
    _fillElements(fieldNames: ({
        key: string;
        label?: string;
        value?: string;
        optional?: boolean;
        noLabel?: boolean;
        legend?: string;
        fields?: any[];
//@ts-ignore
    })[], state: any): JSX.Element[];
    readFonts(val: any, descKey: string): any;
//@ts-ignore
    readDocSecurity(summary: DocumentSecuritySummary): JSX.Element;
//@ts-ignore
    readPermissions(summary: DocumentSecuritySummary): JSX.Element;
}
