import { IEventDetail, IEventEmitter } from '@breadstone/mosaik-elements'; import type { CustomElement } from '../Components/Abstracts/CustomElement'; import type { ControlBehaviorBase, ControlBehaviorReturn } from './Abstracts/Behavior'; import { IDisableableProps } from './Disableable'; /** * Represents the events of the `Selectable` mixin. * * @public */ export interface ISelectableEvents { selected: IEventEmitter; deselected: IEventEmitter; } /** * Represents the `ISelectableProps` interface. * * @public */ export interface ISelectableProps { isSelected: boolean; } /** * Represents the `ISelectable` interface. * * @public */ export interface ISelectable { /** * Selects the element. * * @public */ select(): void; /** * Deselects the element. * * @public */ deselect(): void; } /** * @public */ export declare namespace ISelectableProps { const DEFAULTS: ISelectableProps; } /** * A mixin that describes a selector behavior. * * @fires selected {SelectedEvent} - Fired when the `isSelected` property is `true`. * @fires deselected {DeselectedEvent} - Fired when the `isSelected` property is `false`. * * @public */ export declare const Selectable: >(base: T) => ControlBehaviorReturn; //# sourceMappingURL=Selectable.d.ts.map