import { ReadableSet } from "../tools/regulated-set/types/readable-set.js";
declare const NubModesEvent_base: {
    new (name: string, options: CustomEventInit<{
        modes: ReadableSet<string>;
    }> & {
        detail: {
            modes: ReadableSet<string>;
        };
    }): {
        readonly detail: {
            modes: ReadableSet<string>;
        };
        initCustomEvent(type: string, bubbles?: boolean | undefined, cancelable?: boolean | undefined, detail?: {
            modes: ReadableSet<string>;
        } | undefined): void;
        readonly bubbles: boolean;
        cancelBubble: boolean;
        readonly cancelable: boolean;
        readonly composed: boolean;
        readonly currentTarget: EventTarget | null;
        readonly defaultPrevented: boolean;
        readonly eventPhase: number;
        readonly isTrusted: boolean;
        returnValue: boolean;
        readonly srcElement: EventTarget | null;
        readonly target: EventTarget | null;
        readonly timeStamp: number;
        readonly type: string;
        composedPath(): EventTarget[];
        initEvent(type: string, bubbles?: boolean | undefined, cancelable?: boolean | undefined): void;
        preventDefault(): void;
        stopImmediatePropagation(): void;
        stopPropagation(): void;
        readonly NONE: 0;
        readonly CAPTURING_PHASE: 1;
        readonly AT_TARGET: 2;
        readonly BUBBLING_PHASE: 3;
    };
    readonly type: string;
    readonly target: (target: EventTarget) => {
        dispatch(detail: {
            modes: ReadableSet<string>;
        }, options?: Partial<import("@chasemoskal/magical").DispatchOptions> | undefined): void;
        listen(listener: (event: {
            readonly detail: {
                modes: ReadableSet<string>;
            };
            initCustomEvent(type: string, bubbles?: boolean | undefined, cancelable?: boolean | undefined, detail?: {
                modes: ReadableSet<string>;
            } | undefined): void;
            readonly bubbles: boolean;
            cancelBubble: boolean;
            readonly cancelable: boolean;
            readonly composed: boolean;
            readonly currentTarget: EventTarget | null;
            readonly defaultPrevented: boolean;
            readonly eventPhase: number;
            readonly isTrusted: boolean;
            returnValue: boolean;
            readonly srcElement: EventTarget | null;
            readonly target: EventTarget | null;
            readonly timeStamp: number;
            readonly type: string;
            composedPath(): EventTarget[];
            initEvent(type: string, bubbles?: boolean | undefined, cancelable?: boolean | undefined): void;
            preventDefault(): void;
            stopImmediatePropagation(): void;
            stopPropagation(): void;
            readonly NONE: 0;
            readonly CAPTURING_PHASE: 1;
            readonly AT_TARGET: 2;
            readonly BUBBLING_PHASE: 3;
        }) => void, options?: boolean | AddEventListenerOptions | undefined): () => void;
    };
};
export declare class NubModesEvent extends NubModesEvent_base {
}
export {};
