import type { _SCNNode } from "./SCNNode.js";
import type { _NSCoder } from "../Foundation/NSCoder.js";
import type { _NSURL } from "../Foundation/NSURL.js";
import type { SCNReferenceLoadingPolicy } from "./SCNReferenceLoadingPolicy.js";
export declare class _SCNReferenceNode extends _SCNNode {
    static alloc(): _SCNReferenceNode;
    static new(): _SCNReferenceNode;
    init(): _SCNReferenceNode;
    /** @method referenceNodeWithURL: @abstract Creates a reference node with a url. */
    static referenceNodeWithURL$(referenceURL: _NSURL): _SCNReferenceNode | null;
    /** @method initWithURL: @abstract Creates a reference node with a url. */
    initWithURL$(referenceURL: _NSURL): _SCNReferenceNode | null;
    /**
     * @method initWithCoder: @abstract Support coding and decoding via NSKeyedArchiver.
     */
    initWithCoder$(aDecoder: _NSCoder): _SCNReferenceNode | null;
    /**
     * @method load @abstract Force the reference to be loaded if it hasn't been loaded already. The resolved nodes will be added as child nodes of the receiver.
     */
    load(): void;
    /** @method unload @abstract Remove the child nodes and mark as unloaded. */
    unload(): void;
    /** @property referenceURL @abstract Specifies the url to resolve. */
    referenceURL(): _NSURL;
    setReferenceURL$(value: _NSURL): void;
    /**
     * @property loadingPolicy @abstract Specifies when to load the reference. see SCNReferenceLoadingPolicy above. Defaults to SCNReferenceLoadingPolicyImmediately.
     */
    loadingPolicy(): SCNReferenceLoadingPolicy;
    setLoadingPolicy$(value: SCNReferenceLoadingPolicy): void;
    /**
     * @property loaded @abstract Indicates whether the referenced URL has been loaded.
     */
    loaded(): boolean;
}
