import type { _WebFrame } from "./WebFrame.js";
import type { _WebPolicyDecisionListener } from "./WebPolicyDecisionListener.js";
import type { _WebView } from "./WebView.js";
import type { _NSDictionary } from "../Foundation/NSDictionary.js";
import type { _NSError } from "../Foundation/NSError.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _NSURLRequest } from "../Foundation/NSURLRequest.js";
export interface _WebPolicyDelegate {
    /**
     * This method is called to decide what to do with a proposed navigation. Dictionary that describes the action that triggered this navigation. The request for the proposed navigation The WebFrame in which the navigation is happening The object to call when the decision is made This method will be called before loading starts, and on every redirect.
     */
    webView$decidePolicyForNavigationAction$request$frame$decisionListener$?(webView: _WebView, actionInformation: _NSDictionary, request: _NSURLRequest, frame: _WebFrame, listener: _WebPolicyDecisionListener): void;
    /**
     * This method is called to decide what to do with an targetted nagivation that would open a new window. Dictionary that describes the action that triggered this navigation. The request for the proposed navigation The frame in which the navigation is taking place The object to call when the decision is made This method is provided so that modified clicks on a targetted link which opens a new frame can prevent the new window from being opened if they decide to do something else, like download or present the new frame in a specialized way. If this method picks a policy of Use, the new window will be opened, and decidePolicyForNavigationAction:request:frame:decisionListner: will be called with a WebNavigationType of WebNavigationTypeOther in its action. This is to avoid possible confusion about the modifiers.
     */
    webView$decidePolicyForNewWindowAction$request$newFrameName$decisionListener$?(webView: _WebView, actionInformation: _NSDictionary, request: _NSURLRequest, frameName: _NSString, listener: _WebPolicyDecisionListener): void;
    /**
     * Returns the policy for content which has been partially loaded. Sent after webView:didStartProvisionalLoadForFrame: is sent on the WebFrameLoadDelegate. MIME type for the resource. A NSURLRequest for the partially loaded content. The frame which is loading the URL. The object to call when the decision is made
     */
    webView$decidePolicyForMIMEType$request$frame$decisionListener$?(webView: _WebView, type: _NSString, request: _NSURLRequest, frame: _WebFrame, listener: _WebPolicyDecisionListener): void;
    /**
     * Called when a WebPolicy could not be implemented. It is up to the client to display appropriate feedback. The error that caused the policy to not be implemented. The frame in which the policy could not be implemented.
     */
    webView$unableToImplementPolicyWithError$frame$?(webView: _WebView, error: _NSError, frame: _WebFrame): void;
}
