import type { IEventDetail } from '@breadstone/mosaik-elements';
/**
 * Represents the event detail for dialog result events.
 *
 * @public
 */
export interface IDialogResultEventDetail<TResult = unknown> extends IEventDetail {
    /**
     * The result value.
     */
    readonly result: TResult;
}
/**
 * Event fired when a dialog returns a result.
 *
 * @public
 */
export type DialogResultEvent<TResult = unknown> = CustomEvent<IDialogResultEventDetail<TResult>>;
/**
 * Represents the event detail for restored events.
 *
 * @public
 */
export interface IRestoredEventDetail extends IEventDetail {
}
/**
 * Event fired when an element is restored.
 *
 * @public
 */
export type RestoredEvent = CustomEvent<IRestoredEventDetail>;
/**
 * Represents the event detail for indicated events.
 *
 * @public
 */
export interface IIndicatedEventDetail extends IEventDetail {
    /**
     * The index that was indicated.
     */
    readonly index: number;
}
/**
 * Event fired when an indicator changes.
 *
 * @public
 */
export type IndicatedEvent = CustomEvent<IIndicatedEventDetail>;
declare global {
    interface HTMLElementEventMap {
        dialogResult: DialogResultEvent;
        restored: RestoredEvent;
        indicated: IndicatedEvent;
    }
}
//# sourceMappingURL=DialogEvents.d.ts.map