import type { ReactiveController, ReactiveControllerHost } from 'lit';
import type { BreakpointAlias } from './BreakpointAlias';
/**
 * Represents the config of the `BreakpointController`.
 *
 * @public
 */
export interface IBreakpointControllerConfig {
    query: string | BreakpointAlias | Array<BreakpointAlias | string>;
    callback?: (match: boolean, query: string | BreakpointAlias | Array<BreakpointAlias | string>) => void;
}
/**
 * The `BreakpointController` class is a reactive controller that provides a set of methods to work with breakpoints.
 *
 * @public
 */
export declare class BreakpointController implements ReactiveController {
    private readonly _host;
    private readonly _callback?;
    private _query;
    private _match;
    private _documentResizeSubscription;
    private _windowResizeSubscription;
    constructor(host: ReactiveControllerHost, config: IBreakpointControllerConfig);
    /**
     * Gets the query property.
     *
     * @public
     * @readonly
     */
    get query(): string | BreakpointAlias | Array<BreakpointAlias | string>;
    set query(value: string | BreakpointAlias | Array<BreakpointAlias | string>);
    /**
     * @public
     */
    hostConnected(): void;
    /**
     * @public
     */
    hostDisconnected(): void;
    /**
     * @public
     */
    hostUpdated(): void;
    /**
     * @private
     */
    private onResize;
    /**
     * @private
     */
    private getQuery;
    /**
     * Split each query string into separate query strings if two queries are provided as comma separated.
     *
     * @private
     */
    private splitQueries;
}
//# sourceMappingURL=BreakpointController.d.ts.map