import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { CGRect } from "../structs/CGRect.js";
import type { WKWebExtensionWindowState } from "./WKWebExtensionWindowState.js";
import type { WKWebExtensionWindowType } from "./WKWebExtensionWindowType.js";
export declare class _WKWebExtensionWindowConfiguration extends _NSObject {
    static alloc(): _WKWebExtensionWindowConfiguration;
    static new(): _WKWebExtensionWindowConfiguration;
    init(): _WKWebExtensionWindowConfiguration;
    /** Indicates the window type for the window. */
    windowType(): WKWebExtensionWindowType;
    /** Indicates the window state for the window. */
    windowState(): WKWebExtensionWindowState;
    /**
     * Indicates the frame where the window should be positioned on the main screen. This frame should override the app's default window position and size. Individual components (e.g., `origin.x`, `size.width`) will be `NaN` if not specified.
     */
    frame(): CGRect;
    /**
     * Indicates the URLs that the window should initially load as tabs. If ``tabURLs`` and ``tabs`` are both empty, the app's default "start page" should appear in a tab. tabs
     */
    tabURLs(): _NSArray;
    /**
     * Indicates the existing tabs that should be moved to the window. If ``tabs`` and ``tabURLs`` are both empty, the app's default "start page" should appear in a tab. tabURLs
     */
    tabs(): _NSArray;
    /** Indicates whether the window should be focused. */
    shouldBeFocused(): boolean;
    /**
     * Indicates whether the window should be private. To ensure proper isolation between private and non-private data, web views associated with private data must use a different ``WKUserContentController``. Likewise, to be identified as a private web view and to ensure that cookies and other website data is not shared, private web views must be configured to use a non-persistent ``WKWebsiteDataStore``.
     */
    shouldBePrivate(): boolean;
}
