import { ReactiveController, ReactiveElement } from 'lit';
export type TypeSelectable = ReactiveElement & {
    selected?: boolean;
    behaviorSelect?: boolean;
    selectable?: 'single' | 'multi';
    _internals?: ElementInternals;
};
/**
 * Controller for enabling selectable behavior for elements.
 * @event select - Dispatched when the selectable element selects.
 * @property selected - selected state
 * @property behaviorSelect - determines if stateful auto behavior should enable
 */
export declare class TypeSelectableController<T extends TypeSelectable> implements ReactiveController {
    #private;
    private host;
    constructor(host: T);
    hostConnected(): void;
    hostUpdated(): void;
    select(): void;
    deselect(): void;
    toggle(): void;
}
