import type { _NSTextLayoutFragment } from "./NSTextLayoutFragment.js";
import type { _NSTextViewportLayoutController } from "./NSTextViewportLayoutController.js";
import type { CGRect } from "../structs/CGRect.js";
export interface _NSTextViewportLayoutControllerDelegate {
    /** The current viewport, typically the view visible bounds with overdraw. */
    viewportBoundsForTextViewportLayoutController$?(textViewportLayoutController: _NSTextViewportLayoutController): CGRect;
    /**
     * Called when textViewportLayoutController lays out a given textLayoutFragment. The delegate should arrange to present the text layout fragment in the UI, e.g. a sublayer/subview. Layout information such as viewportBounds on textViewportLayoutController is not up-to-date at the point of this call.
     */
    textViewportLayoutController$configureRenderingSurfaceForTextLayoutFragment$?(textViewportLayoutController: _NSTextViewportLayoutController, textLayoutFragment: _NSTextLayoutFragment): void;
    /**
     * Called when textViewportLayoutController is about to layout. Layout information on textViewportLayoutController is up-to-date at the point of this call.
     */
    textViewportLayoutControllerWillLayout$?(textViewportLayoutController: _NSTextViewportLayoutController): void;
    /**
     * Called when textViewportLayoutController is about to layout. Layout information on textViewportLayoutController is up-to-date at the point of this call.
     */
    textViewportLayoutControllerDidLayout$?(textViewportLayoutController: _NSTextViewportLayoutController): void;
}
