/** @packageDocumentation
 * @module Notification
 */
import { XAndY } from "@itwin/core-geometry";
import { ActivityMessageDetails, ActivityMessageEndReason, MessageBoxIconType, MessageBoxType, MessageBoxValue, NotificationManager, NotifyMessageDetails, ToolAssistanceInstructions, ToolTipOptions } from "@itwin/core-frontend";
import { RelativePosition } from "@itwin/appui-abstract";
/**
 * The AppNotificationManager class is a subclass of NotificationManager in @itwin/core-frontend.
 * This implementation uses the iTwin.js UI library to display alerts, messages, prompts and tooltips.
 * @public
 */
export declare class AppNotificationManager extends NotificationManager {
    /** Output a prompt, given an i18n key.
     */
    outputPromptByKey(key: string): void;
    /** Output a prompt to the user. A 'prompt' indicates an action the user should take to proceed.
     */
    outputPrompt(prompt: string): void;
    /** Output a message and/or alert to the user. */
    outputMessage(message: NotifyMessageDetails): void;
    /** Output a MessageBox and wait for response from the user.
     * @param mbType       The MessageBox type.
     * @param message      The message to display.
     * @param icon         The MessageBox icon type.
     * @return the response from the user.
     */
    openMessageBox(mbType: MessageBoxType, message: HTMLElement | string, icon: MessageBoxIconType): Promise<MessageBoxValue>;
    /**
     * Set up for activity messages.
     * @param details  The activity message details.
     * @return true if the message was displayed, false if an invalid priority is specified.
     */
    setupActivityMessage(details: ActivityMessageDetails): boolean;
    /**
     * Output an activity message to the user.
     * @param messageText      The message text.
     * @param percentComplete  The percentage of completion.
     * @return true if the message was displayed, false if the message could not be displayed.
     */
    outputActivityMessage(messageText: HTMLElement | string, percentComplete: number): boolean;
    /**
     * End an activity message.
     * @param reason       Reason for the end of the Activity Message.
     * @return true if the message was ended successfully, false if the activityMessage could not be ended.
     */
    endActivityMessage(reason: ActivityMessageEndReason): boolean;
    /** Update message position created with [[OutputMessageType.Pointer]].
     * @param displayPoint        Point at which to display the Pointer type message.
     * @param relativePosition    Position relative to displayPoint at which to display the Pointer type message.
     */
    updatePointerMessage(displayPoint: XAndY, relativePosition: RelativePosition): void;
    /** Hides the Pointer message. */
    closePointerMessage(): void;
    /** Return true if _showTooltip has an implementation and will display a tooltip. */
    get isToolTipSupported(): boolean;
    /** Return true if the tooltip is currently open. */
    get isToolTipOpen(): boolean;
    /** Clear the ToolTip if it is currently open. If not open, does nothing. */
    clearToolTip(): void;
    /** Show a ToolTip window.
     * @param el       The HTMLElement that anchors the toolTip.
     * @param message  The message to display inside the ToolTip
     * @param pt       An optional location, relative to the origin of el, for the ToolTip. If undefined, center of el.
     * @param options  Options that supply additional information about how the ToolTip should function.
     */
    protected _showToolTip(el: HTMLElement, message: HTMLElement | string, pt?: XAndY, options?: ToolTipOptions): void;
    /** Hide a InputField message. */
    closeInputFieldMessage(): void;
    /** Setup tool assistance instructions for a tool. The instructions include the main instruction, which includes the current prompt.
     * @param instructions The tool assistance instructions.
     * @public
     */
    setToolAssistance(instructions: ToolAssistanceInstructions | undefined): void;
}
//# sourceMappingURL=AppNotificationManager.d.ts.map