import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _WKContentWorld } from "./WKContentWorld.js";
import type { WKUserScriptInjectionTime } from "./WKUserScriptInjectionTime.js";
export declare class _WKUserScript extends _NSObject {
    static alloc(): _WKUserScript;
    static new(): _WKUserScript;
    init(): _WKUserScript;
    /**
     * Returns an initialized user script that can be added to a . The script source. When the script should be injected. Whether the script should be injected into all frames or just the main frame. Calling this method is the same as calling `initWithSource:injectionTime:forMainFrameOnly:inContentWorld:` with a `contentWorld` value of `WKContentWorld.pageWorld`
     */
    initWithSource$injectionTime$forMainFrameOnly$(source: _NSString, injectionTime: WKUserScriptInjectionTime, forMainFrameOnly: boolean): _WKUserScript;
    /**
     * Returns an initialized user script that can be added to a . The script source. When the script should be injected. Whether the script should be injected into all frames or just the main frame. The WKContentWorld in which to inject the script.
     */
    initWithSource$injectionTime$forMainFrameOnly$inContentWorld$(source: _NSString, injectionTime: WKUserScriptInjectionTime, forMainFrameOnly: boolean, contentWorld: _WKContentWorld): _WKUserScript;
    /** The script source code. */
    source(): _NSString;
    /** When the script should be injected. */
    injectionTime(): WKUserScriptInjectionTime;
    /** Whether the script should be injected into all frames or just the main frame. */
    forMainFrameOnly(): boolean;
}
export interface _WKUserScript extends _NSCopying {
}
