interface DeviceQueryConfig {
    min?: number;
    max?: number;
    enable?: boolean;
}
interface QueryConfig {
    mobile?: DeviceQueryConfig;
    tablet?: DeviceQueryConfig;
    laptop?: DeviceQueryConfig;
    desktop?: DeviceQueryConfig;
}
declare class StringResponsiveDeviceEvent {
    private eventsIn;
    private eventsOut;
    private stringResponsive;
    private state;
    constructor(stringResponsive: StringResponsive, state: StringResponsiveState);
    addIn(event: Function): void;
    removeIn(event: Function): void;
    callIn(): void;
    addOut(event: Function): void;
    removeOut(event: Function): void;
    callOut(): void;
}
declare enum StringResponsiveState {
    Mobile = 0,
    Tablet = 1,
    Laptop = 2,
    Desktop = 3
}
declare class StringResponsive {
    private static instance;
    private mobileQuery;
    private tabletQuery;
    private laptopQuery;
    private desktopQuery;
    private mobileMatchMedia;
    private tabletMatchMedia;
    private laptopMatchMedia;
    private desktopMatchMedia;
    mobile: StringResponsiveDeviceEvent;
    tablet: StringResponsiveDeviceEvent;
    laptop: StringResponsiveDeviceEvent;
    desktop: StringResponsiveDeviceEvent;
    private onMobileEvent;
    private onTabletEvent;
    private onLaptopEvent;
    private onDesktopEvent;
    private _state;
    get state(): StringResponsiveState;
    private constructor();
    static getInstance(): StringResponsive;
    setQuery(config: QueryConfig): void;
    private setupQueries;
    private matchMedia;
    private onMobileQuery;
    private onTabletQuery;
    private onLaptopQuery;
    private onDesktopQuery;
}
export default StringResponsive;
