import type { IEventDetail } from '@breadstone/mosaik-elements';
import type { SpinDirection } from '../Types/SpinDirection';
/**
 * Represents the event detail for repeat button events.
 *
 * @public
 */
export interface IRepeatedEventDetail extends IEventDetail {
    /**
     * The number of times the action has repeated.
     */
    readonly count: number;
}
/**
 * Event fired when repeat button action repeats.
 *
 * @public
 */
export type RepeatedEvent = CustomEvent<IRepeatedEventDetail>;
/**
 * Represents the event detail for spin events.
 *
 * @public
 */
export interface ISpinEventDetail extends IEventDetail {
    /**
     * The spin direction.
     */
    readonly direction: SpinDirection;
    /**
     * The new value.
     */
    readonly value?: number;
    /**
     * Whether to cancel the spin event.
     */
    cancel?: boolean;
}
/**
 * Event fired when spin button is clicked.
 *
 * @public
 */
export type SpinEvent = CustomEvent<ISpinEventDetail>;
declare global {
    interface HTMLElementEventMap {
        repeated: RepeatedEvent;
        spin: SpinEvent;
        spinned: SpinEvent;
    }
}
//# sourceMappingURL=ButtonEvents.d.ts.map