import { SessionDetail, FlowDetail } from "./CustomEvents";
/**
 * A class that dispatches custom events.
 *
 * @category SDK
 * @subcategory Internal
 */
export declare class Dispatcher {
    _dispatchEvent: any;
    /**
     * Dispatches a custom event.
     *
     * @param {string} type
     * @param {T} detail
     * @private
     */
    private dispatch;
    /**
     * Dispatches a "hanko-session-created" event to the document with the specified detail.
     *
     * @param {SessionDetail} detail - The event detail.
     */
    dispatchSessionCreatedEvent(detail: SessionDetail): void;
    /**
     * Dispatches a "hanko-session-expired" event to the document.
     */
    dispatchSessionExpiredEvent(): void;
    /**
     * Dispatches a "hanko-user-logged-out" event to the document.
     */
    dispatchUserLoggedOutEvent(): void;
    /**
     * Dispatches a "hanko-user-deleted" event to the document.
     */
    dispatchUserDeletedEvent(): void;
    /**
     * Dispatches a "hanko-after-state-change" event to the document.
     */
    dispatchAfterStateChangeEvent(detail: FlowDetail): void;
    /**
     * Dispatches a "hanko-before-state-change" event to the document.
     */
    dispatchBeforeStateChangeEvent(detail: FlowDetail): void;
}
