import { IEventEmitter } from '@breadstone/mosaik-elements';
import { CustomElement } from '../../Controls/Components/Abstracts/CustomElement';
import type { IBreakpointMatchedEventDetail } from '../../Controls/events';
import type { BreakpointAlias } from './BreakpointAlias';
import { IBreakpointElementProps } from './IBreakpointElementProps';
/**
 * The `BreakpointElement` element.
 *
 * @fires matched {BreakpointMatchedEvent} - 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 `is` property.
     * The `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 the breakpoint is matched.
     * Provides reference to `IBreakpointMatchedEventDetail` as event detail.
     *
     * @public
     * @readonly
     * @eventProperty
     */
    get matched(): IEventEmitter<IBreakpointMatchedEventDetail>;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-breakpoint': BreakpointElement;
    }
}
//# sourceMappingURL=BreakpointElement.d.ts.map