import { ChangeDetectorRef, ElementRef, NgZone } from '@angular/core';
import * as i0 from "@angular/core";
export declare class ObserveResizeService {
private _ngZone;
private _targets;
private _observedElements;
constructor(_ngZone: NgZone);
private _resizeObserver;
private windowResizeObserver;
/**
* Registers the component on which media queries need to be calculated.
*
* ```ts
* @Component({ selector: 'app-parent', template: '' })
* class ParentComponent {}
*
* @Component({ selector: 'app-child' })
* class ChildComponent {
* @MediaQuery('app-parent:(max-width: 20rem)') @HostBinding('class.parentSmall') parentSmall = false;
* @MediaQuery('(max-width: 20rem)') @HostBinding('class.childSmall') childSmall = false;
*
* constructor(
* resize: ObserveResizeService,
* elementRef: ElementRef,
* changeDetector: ChangeDetectorRef
* ) {
* resize.register(this, elementRef, changeDetector);
* }
* }
* ```
*
* @param instance the current component instance (this)
* @param injector the Injector of the current component
*/
register(instance: any, elementRef: ElementRef, changeDetector: ChangeDetectorRef): void;
private _remove;
private _removeElementsWithoutListeners;
private _getRulesForElement;
private _entrySize;
private _unobserve;
private _observe;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵprov: i0.ɵɵInjectableDeclaration;
}