import { ArrayPropertyChangedEventArgs, BaseModel, PropertyChangedEventArgs } from '@devexpress/analytics-core/analytics-serializer-native'; import dxPopup, { ContentReadyEvent, HiddenEvent, Properties, ShownEvent } from 'devextreme/ui/popup'; import { PictureEditorActionId } from './_pictureEditorTypes'; export declare class PictureEditorToolbarItem extends BaseModel implements IPictureEditorToolbarItem { constructor(options: IPictureEditorToolbarItemOptions); onPropertyChanged(args: PropertyChangedEventArgs | ArrayPropertyChangedEventArgs): void; dispose(): void; id: PictureEditorActionId; icon: string; title: string; active: boolean; action: (e: any, model: any) => void; } export declare class PictureEditorToolbarItemWithPopup extends PictureEditorToolbarItem implements IPictureEditorToolbarItemWithPopup { private _popup; constructor(options: IPictureEditorToolbarItemWithTemplateOptions); onPropertyChanged(args: PropertyChangedEventArgs | ArrayPropertyChangedEventArgs): void; dispose(): void; template: string; templateOptions: IPictureEditorActionPopup; } export interface IPictureEditorToolbarItem extends IPictureEditorToolbarItemOptions { dispose: () => void; active: boolean; } export interface IPictureEditorToolbarItemWithPopup extends IPictureEditorToolbarItemWithTemplateOptions { dispose: () => void; } export interface IPictureEditorToolbarItemWithTemplateOptions extends IPictureEditorToolbarItemOptions { template?: string; templateOptions?: T; } export interface IPictureEditorToolbarItemOptions { id: PictureEditorActionId; icon: string; action?: (e: any, model: any) => void; title: string; } export interface IPictureEditorActionPopup extends IPictureEditorActionPopupOptions { component: dxPopup; onContentReady: (event: ContentReadyEvent) => void; onShown: (event: ShownEvent) => void; onHidden: (e: HiddenEvent) => void; hideOnOutsideClick: (e: { target: any; }) => boolean; } export interface IPictureEditorActionPopupOptions { width: string; height: string; contentTemplate: string; contentData: any; container: string; target: string; boundary: string | any; getPositionTarget: () => HTMLElement; visible: boolean; }