import { ICancelEventDetail, IEventEmitter } from '@breadstone/mosaik-elements';
import type { CustomElement } from '../Components/Abstracts/CustomElement';
import type { ControlBehaviorBase, ControlBehaviorReturn } from './Abstracts/Behavior';
/**
 * Represents the events of the `Openable` mixin.
 *
 * @fires opened {OpenedEvent} - Fired when the element is opened.
 *
 * @public
 */
export interface IOpenableEvents {
    opened: IEventEmitter<ICancelEventDetail>;
}
/**
 * Represents the `IOpenable` interface.
 *
 * @public
 */
export interface IOpenable {
    /**
     * Opens the element.
     */
    open(): Promise<void>;
}
/**
 * @public
 */
export declare const Openable: <T extends ControlBehaviorBase<CustomElement>>(base: T) => ControlBehaviorReturn<T, IOpenable & IOpenableEvents>;
//# sourceMappingURL=Openable.d.ts.map