import { IEventEmitter } from '@breadstone/mosaik-elements';
import { CustomElement } from '../../Controls/Components/Abstracts/CustomElement';
import type { BreakpointAlias } from './BreakpointAlias';
import { IBreakpointMatchedEvent, type IBreakpointMatchedEventDetail } from './Events/IBreakpointMatchedEventDetail';
import { IBreakpointElementProps } from './IBreakpointElementProps';
/**
 * The `{@link BreakpointElement}` element.
 *
 * @fires matched - Fired when the breakpoint is matched.
 *
 * @public
 */
export declare class BreakpointElement extends CustomElement implements IBreakpointElementProps {
    private readonly _breakpointController;
    private readonly _matched;
    private _query;
    /**
     * @public
     */
    constructor();
    /**
     * Returns the `{@link is}` property.
     * The `{@link is}` property represents natural name of this element.
     *
     * @public
     * @static
     * @readonly
     */
    static get is(): string;
    /**
     * Gets or sets the `query` property.
     *
     * @public
     * @attr
     */
    get query(): string | BreakpointAlias | Array<BreakpointAlias | string>;
    set query(value: string | BreakpointAlias | Array<BreakpointAlias | string>);
    /**
     * Called when <ACTION>.
     * Provides reference to `{@link IBreakpointMatchedEventDetail}` as event detail.
     *
     * @public
     * @readonly
     * @eventProperty
     */
    get matched(): IEventEmitter<IBreakpointMatchedEventDetail>;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-breakpoint': BreakpointElement;
    }
    interface HTMLElementEventMap {
        matched: IBreakpointMatchedEvent;
    }
}
//# sourceMappingURL=BreakpointElement.d.ts.map