import { HTMLDOMElement } from '../../Core/Renderer/DOMElementType.js';
import BaseForm from '../../Shared/BaseForm.js';
import CellEditToolbar from './Toolbar/CellEditToolbar.js';
import RowEditToolbar from './Toolbar/RowEditToolbar.js';
import EditMode from './EditMode.js';
/**
* Class to create confirmation popup.
*/
declare class ConfirmationPopup extends BaseForm {
/**
* Constructs an instance of the ConfirmationPopup.
*
* @param parentDiv
* Parent div where the popup will be added.
*
* @param iconsURL
* URL to the icons.
*
* @param editMode
* The EditMode instance.
*
* @param options
* Options for confirmation popup.
*/
constructor(parentDiv: HTMLElement, iconsURL: string, editMode: EditMode, options?: Options);
/**
* Container for buttons.
*/
buttonContainer: HTMLDOMElement | undefined;
/**
* Container for popup content.
*/
contentContainer: HTMLDOMElement | undefined;
/**
* The EditMode instance.
*/
editMode: EditMode;
/**
* Options for confirmation popup.
*/
options?: Options;
/**
* Show options for confirmation popup.
*/
contentOptions?: ContentOptions;
/**
* Returns popup container.
*
* @param parentDiv
* Parent div where the popup will be added.
*
* @param className
* Class name added to the popup container.
*/
protected createPopupContainer(parentDiv: HTMLElement, className?: string): HTMLElement;
/**
* Adds close button to the popup.
*
* @param className
* Class name added to the close button.
*/
protected addCloseButton(className?: string): HTMLElement;
/**
* Adds events to the close button.
*
* @override BaseForm.closeButtonEvents
*/
closeButtonEvents(): void;
/**
* Adds content inside the popup.
*/
renderContent(): void;
/**
* Shows confirmation popup.
*
* @param options
* Options for confirmation popup.
*/
show(options: ContentOptions): void;
/**
* Hides confirmation popup.
*/
closePopup(): void;
}
/**
* Options for confirmation popup.
*/
export interface Options {
/**
* Close icon
*
* Try it:
*
* {@link https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/dashboards/edit-mode/change-close-icon/ | Change close icon}
*/
close: CloseIcon;
}
/**
* Close icon options.
*/
export interface CloseIcon {
/**
* Icon's URL.
*/
icon: string;
}
export interface ContentOptions {
confirmButton: ConfirmButton;
cancelButton: ConfirmButton;
text: string;
}
export interface ConfirmButton {
value: string;
callback: Function;
context?: RowEditToolbar | CellEditToolbar;
}
export interface CancelButton {
value: string;
callback: Function;
}
export default ConfirmationPopup;