import Modifier from 'ember-modifier';
export interface Observer {
    disconnect: () => void;
    observe: (element: Element, options?: {
        [key: string]: any;
    }) => void;
}
interface ResizeObserverSignature {
    Element: Element;
    Args: {
        Positional: ['width' | 'height'] | [];
        Named: {
            onResize: (dimensions: {
                height: number;
                width: number;
            }) => void;
        };
    };
}
export default class ResizeObserver extends Modifier<ResizeObserverSignature> {
    height: number;
    width: number;
    observer: Observer | null;
    element: Element | null;
    named: ResizeObserverSignature['Args']['Named'] | null;
    positional: ResizeObserverSignature['Args']['Positional'] | null;
    setSize({ width, height }: {
        width: number;
        height: number;
    }): void;
    modify(element: Element, positional: [] | ["width" | "height"] | undefined, named: ResizeObserverSignature['Args']['Named']): void;
    _setup(): void;
    _teardown(): void;
}
export {};
//# sourceMappingURL=resize-observer.d.ts.map