import '../../../../assert/js/assert.js';
import '../../../../globals.js';
/**
 * A configurable cell containing a Node used for more permanent layouts
 *
 * @author Jonathan Olson <jonathan.olson@colorado.edu>
 */
import Orientation from '../../../../phet-core/js/Orientation.js';
import { LayoutConstraint, LayoutProxy, Node } from '../../imports.js';
export default class LayoutCell {
    private readonly _constraint;
    private readonly _node;
    private _proxy;
    private readonly layoutOptionsListener;
    private readonly layoutProxyProperty;
    /**
     * NOTE: Consider this scenery-internal AND protected. It's effectively a protected constructor for an abstract type,
     * but cannot be due to how mixins constrain things (TypeScript doesn't work with private/protected things like this)
     *
     * NOTE: Methods can be marked as protected, however!
     *
     * (scenery-internal)
     *
     * @param constraint
     * @param node
     * @param proxy - If not provided, LayoutProxies will be computed and updated based on the ancestorNode of the
     *                constraint. This includes more work, and ideally should be avoided for things like FlowBox/GridBox
     *                (but will be needed by ManualConstraint or other direct LayoutConstraint usage)
     */
    constructor(constraint: LayoutConstraint, node: Node, proxy: LayoutProxy | null);
    protected onLayoutOptionsChange(): void;
    /**
     * (scenery-internal)
     */
    get node(): Node;
    /**
     * (scenery-internal)
     */
    isConnected(): boolean;
    /**
     * (scenery-internal)
     */
    get proxy(): LayoutProxy;
    /**
     * (scenery-internal)
     */
    isSizable(orientation: Orientation): boolean;
    /**
     * Releases references
     */
    dispose(): void;
}
//# sourceMappingURL=LayoutCell.d.ts.map