import type { _PDFActionRemoteGoTo } from "./PDFActionRemoteGoTo.js";
import type { _PDFView } from "./PDFView.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _NSURL } from "../Foundation/NSURL.js";
export interface _PDFViewDelegate {
    /**
     * Delegates implementing the following method will be called to handle clicks on URL links within the PDFView. The default implementation calls [[NSWorkspace sharedWorkspace] openURL: url].
     */
    PDFViewWillClickOnLink$withURL$?(sender: _PDFView, url: _NSURL): void;
    /**
     * Delegate method allowing a delegate to override changes to the scale factor. The default implementation pins scaling between 0.1 and 10.0.
     */
    PDFViewWillChangeScaleFactor$toScale$?(sender: _PDFView, scaler: number): number;
    /**
     * A delegate providing this method can override the job title when PDFView is printed. The default implementation uses the string, if any, associated with the "Title" key from the view's PDFDocument attribute dictionary. Failing that, it uses the last path component if the PDFDocument is URL-based.
     */
    PDFViewPrintJobTitle$?(sender: _PDFView): _NSString;
    /**
     * Certain PDFAction's may request that the PDF viewer application Print the current document. Delegates responding to the below method will be called when the user clicks on an annotation with such an action.
     */
    PDFViewPerformPrint$?(sender: _PDFView): void;
    /**
     * Certain PDFAction's may request that the PDF viewer application perform a Find. Delegates responding to the below method will be called when the user clicks on an annotation with such an action.
     */
    PDFViewPerformFind$?(sender: _PDFView): void;
    /**
     * Certain PDFAction's may request that the PDF viewer application bring up a panel allowing the user to enter a specific page number. Delegates responding to the below method will be called when the user clicks on an annotation with such an action.
     */
    PDFViewPerformGoToPage$?(sender: _PDFView): void;
    /**
     * Delegates implementing the following method will be called to handle clicks on annotations containing a PDFActionRemoteGoTo action. The action contains a URL and a page index and point. The delegate should open the PDF indicated by the URL and go to the page and point indicated. The easiest way to do the latter is to create a PDFDestination with the page index and point once a PDFDocument from the URL is created - then you can call: -[PDFView goToDestination:]. The default implementation simply beeps.
     */
    PDFViewOpenPDF$forRemoteGoToAction$?(sender: _PDFView, action: _PDFActionRemoteGoTo): void;
}
