/**
 * egjs-grid
 * Copyright (c) 2021-present NAVER Corp.
 * MIT license
 */
import Component from "@egjs/component";
import { DestroyOptions, SizeRect } from "./types";
import { ResizeWatcherResizeEvent, ResizeWatcher } from "./ResizeWatcher";
export interface ContainerManagerOptions {
    horizontal?: boolean;
    autoResize?: boolean;
    resizeDebounce?: number;
    maxResizeDebounce?: number;
    useResizeObserver?: boolean;
}
export interface ContainerManagerStatus {
    rect: SizeRect;
}
export interface ContainerManagerEvents {
    resize: ResizeWatcherResizeEvent;
}
export declare class ContainerManager extends Component<ContainerManagerEvents> {
    protected container: HTMLElement;
    protected options: Required<ContainerManagerOptions>;
    protected orgCSSText: string;
    protected _watcher: ResizeWatcher;
    constructor(container: HTMLElement, options: ContainerManagerOptions);
    resize(): void;
    isObserverEnabled(): boolean;
    getRect(): SizeRect;
    observeChildren(children: Element[]): void;
    unobserveChildren(children: Element[]): void;
    setRect(rect: SizeRect): void;
    getInlineSize(): number;
    getContentSize(): number;
    getStatus(): {
        rect: SizeRect;
    };
    setStatus(status: ContainerManagerStatus): void;
    setContentSize(size: number): void;
    destroy(options?: DestroyOptions): void;
    private _init;
    private _onResize;
    private get _names();
}
