///
//@ts-ignore
import React from 'react';
import { PropertiesPanelModel, PropertiesPanelProps } from './types';
import { PropertyDescriptor } from '@dt/core-ui';
///
//@ts-ignore
import { i18n } from 'i18next';
import { ViewerOptions } from '../../../../ImageViewer/ViewerOptions';
import { PaintToolsPlugin } from '../../PaintToolsPlugin';
import { PanelHandle } from '@dt/core-viewer/types/api/PluginModel';
import { IImageViewer } from '../../../../ImageViewer/Models';
import { PaintToolsPluginOptions } from '../../PaintToolsPluginOptions';
import { PaintObjectDesigner } from '../PaintObjectDesigner';
import { IPaintObjectDesigner, PaintObjectType } from '../../../../ImageViewer/Layers';
export declare class PropertiesPanel extends React.Component {
private _objectDesignerBoundsChanged?;
private _updatingFlag;
constructor(props: PropertiesPanelProps);
componentDidMount(): void;
componentWillUnmount(): void;
bindEvents(): void;
unbindEvents(): void;
get viewer(): IImageViewer;
get options(): ViewerOptions;
get plugin(): PaintToolsPlugin;
get pluginOptions(): PaintToolsPluginOptions;
get in17n(): i18n;
static createPanel(plugin: PaintToolsPlugin, objectDesigner: IPaintObjectDesigner | null | undefined, callback: (filtersPreviewPanel: PropertiesPanel) => void): PanelHandle;
get objectDesigner(): PaintObjectDesigner | null | undefined;
render(): React.JSX.Element;
renderPropertiesPanel(objectDesigner: PaintObjectDesigner, isReadOnly?: boolean): React.ReactElement;
/**
* Returns the localized display name for a given paint object type.
* @param {PaintObjectType} paintObjectName - The type of paint object to get the display name for.
* @returns {string} Localized display name for the object type, or "Unknown object" if type is not recognized.
* @example
* // Returns "Image" (or localized equivalent)
* getObjectDisplayName("image");
*/
getObjectDisplayName(paintObjectName: PaintObjectType): string;
setObjectDesigner(objectDesigner?: PaintObjectDesigner | null): void;
setProperties(node: PaintObjectDesigner, descriptors: PropertyDescriptor[], values: any[]): Promise;
createImageFromUint8Array(uint8Array: Uint8Array): Promise;
setProperty(node: PaintObjectDesigner, descriptor: PropertyDescriptor, value: any, skipUpdate?: boolean): Promise;
refresh(): void;
checkCannotEdit(node: PaintObjectDesigner, editType: "Any" | "EditProperty" | "Delete" | "Clone" | "EditContents", showErrorMessageAndRefresh?: boolean): boolean;
resetToFactoryDefaults(objectDesigner?: PaintObjectDesigner): void;
deleteObject(objectDesigner?: PaintObjectDesigner): void;
private _onResetClick;
private _onDeleteClick;
private _onPropertiesPanelClick;
}