import type { IChangedEventDetail, IEventDetail } from '@breadstone/mosaik-elements';
/**
 * Represents the event detail for search events.
 *
 * @public
 */
export interface ISearchedEventDetail extends IEventDetail {
    /**
     * The search query.
     */
    readonly query: string;
}
/**
 * Event fired when a search is performed.
 *
 * @public
 */
export type SearchedEvent = CustomEvent<ISearchedEventDetail>;
/**
 * Represents the event detail for cleared events.
 *
 * @public
 */
export interface IClearedEventDetail extends IEventDetail {
}
/**
 * Event fired when content is cleared.
 *
 * @public
 */
export type ClearedEvent = CustomEvent<IClearedEventDetail>;
/**
 * Represents the event detail for content changed events.
 *
 * @public
 */
export interface IContentChangedEventDetail extends IEventDetail {
    /**
     * The new content.
     */
    readonly content: string;
}
/**
 * Event fired when content changes.
 *
 * @public
 */
export type ContentChangedEvent = CustomEvent<IContentChangedEventDetail>;
/**
 * Represents the event detail for property changed events.
 *
 * @public
 */
export interface IPropertyChangedEventDetail extends IChangedEventDetail {
    /**
     * The name of the property that changed.
     */
    readonly propertyName: string;
}
/**
 * Event fired when a property changes.
 *
 * @public
 */
export type PropertyChangedEvent = CustomEvent<IPropertyChangedEventDetail>;
/**
 * Represents the event detail for active changed events.
 *
 * @public
 */
export interface IActiveChangedEventDetail extends IEventDetail {
    /**
     * Whether the element is active.
     */
    readonly isActive: boolean;
}
/**
 * Event fired when active state changes.
 *
 * @public
 */
export type ActiveChangedEvent = CustomEvent<IActiveChangedEventDetail>;
declare global {
    interface HTMLElementEventMap {
        searched: SearchedEvent;
        cleared: ClearedEvent;
        contentChanged: ContentChangedEvent;
        propertyChanged: PropertyChangedEvent;
        activeChanged: ActiveChangedEvent;
        changed: PropertyChangedEvent;
    }
}
//# sourceMappingURL=ValueEvents.d.ts.map