import { SyntheticEventTarget } from '../../../esl-utils/dom/events';
import type { IMediaQueryCondition } from './media-query-base';
/**
 * Simple media condition implementation
 * @author Alexey Stsefanovich (ala'n)
 *
 * Wraps matchMedia instance
 */
export declare class MediaQueryCondition extends SyntheticEventTarget implements IMediaQueryCondition {
    protected readonly _inverted: boolean;
    protected readonly _mq: MediaQueryList;
    constructor(query: string, inverted?: boolean);
    get matches(): boolean;
    addEventListener(callback: EventListener): void;
    addEventListener(type: 'change', callback: EventListener): void;
    removeEventListener(callback: EventListener): void;
    removeEventListener(type: 'change', callback: EventListener): void;
    /** Optimize query. Can simplify query to {@link MediaQueryConstCondition} */
    optimize(): IMediaQueryCondition;
    toString(): string;
    /** Handles query change and dispatches it on top level in case result value is changed */
    protected _onChange(): void;
}
