import { ReactiveController, ReactiveControllerHost } from 'lit';
import { Directive, PartInfo, ElementPart } from 'lit/directive.js';
interface IResizeObserverController extends ReactiveController {
    startOberve(el: HTMLElement): void;
}
declare class ResizeDirective extends Directive {
    _inited: boolean;
    constructor(partInfo: PartInfo);
    render(controller: ReactiveController): symbol;
    update(part: ElementPart, args: [IResizeObserverController]): void;
}
export declare class ResizeObserverController implements IResizeObserverController {
    host: ReactiveControllerHost;
    _observer: ResizeObserver | null;
    _lastFunction?: Function;
    _observers: Map<any, any>;
    constructor(host: ReactiveControllerHost);
    hostConnected(): void;
    hostDisconnected(): void;
    private onMutate;
    startOberve(el: HTMLElement): void;
    observe(f?: Function): import("lit/directive.js").DirectiveResult<typeof ResizeDirective>;
}
export {};
