import type { IEventDetail } from '@breadstone/mosaik-elements';
/**
 * Represents the event detail for step change events.
 *
 * @public
 */
export interface IActiveStepChangedEventDetail extends IEventDetail {
    /**
     * The previous step index.
     */
    readonly previousIndex: number;
    /**
     * The new step index.
     */
    readonly newIndex: number;
    /**
     * Alias for previousIndex.
     */
    readonly oldStepIndex?: number;
    /**
     * Alias for newIndex.
     */
    readonly newStepIndex?: number;
    /**
     * The previous step element.
     */
    readonly oldStep?: unknown;
    /**
     * The new step element.
     */
    readonly newStep?: unknown;
    /**
     * The direction of navigation.
     */
    readonly direction?: 'forward' | 'backward';
    /**
     * The total number of steps.
     */
    readonly totalSteps?: number;
    /**
     * Whether to cancel the step change.
     */
    cancel?: boolean;
}
/**
 * Event fired when active step changes.
 *
 * @public
 */
export type ActiveStepChangedEvent = CustomEvent<IActiveStepChangedEventDetail>;
declare global {
    interface HTMLElementEventMap {
        activeStepChanged: ActiveStepChangedEvent;
    }
}
//# sourceMappingURL=StepEvents.d.ts.map