import { ExmgRadioGroupItem } from './exmg-radio-group-item.js';
declare class SelectionSet {
    selected: ExmgRadioGroupItem | null;
    focused: ExmgRadioGroupItem | null;
    ordered: ExmgRadioGroupItem[] | null;
    readonly set: Set<ExmgRadioGroupItem>;
}
export declare class SelectionController {
    private sets;
    private mouseIsDown;
    private updating;
    static getController(element: Node): SelectionController;
    constructor(element: Node);
    protected keyDownHandler(e: KeyboardEvent): void;
    protected mousedownHandler(): void;
    protected mouseupHandler(): void;
    has(element: ExmgRadioGroupItem): boolean;
    previous(element: ExmgRadioGroupItem): void;
    next(element: ExmgRadioGroupItem): void;
    select(element: ExmgRadioGroupItem): void;
    /**
     * Helps to track the focused selection group and if it changes, focuses
     * the selected item in the group. This matches native radio button behavior.
     */
    focus(element: ExmgRadioGroupItem): void;
    getOrdered(element: ExmgRadioGroupItem): ExmgRadioGroupItem[];
    getSet(name: string): SelectionSet;
    register(element: ExmgRadioGroupItem): void;
    unregister(element: ExmgRadioGroupItem): void;
    update(element: ExmgRadioGroupItem): void;
}
export {};
