export default FittedBlock;
declare class FittedBlock extends Block {
    /**
     * @public
     *
     * @param {Display} display
     * @param {number} renderer
     * @param {Instance} transformRootInstance - All transforms of this instance and its ancestors will already have been
     *                                           applied. This block will only be responsible for applying transforms of
     *                                           this instance's descendants.
     * @param {FittedBlock.Fit} preferredFit
     * @returns {FittedBlock} - For chaining
     */
    public initialize(display: Display, renderer: number, transformRootInstance: Instance, preferredFit: FittedBlock.Fit): FittedBlock;
    transformRootInstance: any;
    canBeFullDisplay: any;
    preferredFit: any;
    fit: any;
    dirtyFit: boolean | undefined;
    commonFitInstance: any;
    fitBounds: Bounds2 | undefined;
    oldFitBounds: Bounds2 | undefined;
    unfittableDrawableCount: number | undefined;
    dirtyFitListener: any;
    fittableListener: any;
    /**
     * Changes the current fit, if it's currently different from the argument.
     * @private
     *
     * @param {FittedBlock.Fit} fit
     */
    private setFit;
    /**
     * @public
     */
    public markDirtyFit(): void;
    /**
     * Should be called from update() whenever this block is dirty
     * @protected
     */
    protected updateFit(): void;
    /**
     * @public
     */
    public setSizeFullDisplay(): void;
    /**
     * @public
     */
    public setSizeFitBounds(): void;
    /**
     * @public
     *
     * @param {Instance|null} instance
     */
    public addCommonFitInstance(instance: Instance | null): void;
    /**
     * @public
     */
    public removeCommonFitInstance(): void;
    /**
     * Track the fittability of the added drawable.
     * @public
     * @override
     *
     * @param {Drawable} drawable
     */
    public override addDrawable(drawable: Drawable): void;
    /**
     * Stop tracking the fittability of the removed drawable.
     * @public
     * @override
     *
     * @param {Drawable} drawable
     */
    public override removeDrawable(drawable: Drawable): void;
    /**
     * Called from the fittability listener attached to child drawables when their fittability changes.
     * @private
     *
     * @param {boolean} fittable - Whether the particular child drawable is fittable
     */
    private onFittabilityChange;
    /**
     * The number of unfittable child drawables was increased by 1.
     * @private
     */
    private incrementUnfittable;
    /**
     * The number of unfittable child drawables was decreased by 1.
     * @private
     */
    private decrementUnfittable;
    /**
     * Check to make sure we are using the correct current fit.
     * @private
     */
    private checkFitConstraints;
    /**
     * @private
     *
     * @returns {Instance}
     */
    private computeCommonAncestorInstance;
    /**
     * @public
     * @override
     *
     * @param {Drawable} firstDrawable
     * @param {Drawable} lastDrawable
     */
    public override onIntervalChange(firstDrawable: Drawable, lastDrawable: Drawable): void;
}
declare namespace FittedBlock {
    let FULL_DISPLAY: number;
    let COMMON_ANCESTOR: number;
    let fitString: {
        1: string;
        2: string;
    };
}
import { Block } from '../imports.js';
import Bounds2 from '../../../dot/js/Bounds2.js';
//# sourceMappingURL=FittedBlock.d.ts.map