import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSRunLoop } from "../Foundation/NSRunLoop.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _CAMetalDisplayLinkDelegate } from "./CAMetalDisplayLinkDelegate.js";
import type { _CAMetalLayer } from "./CAMetalLayer.js";
import type { CAFrameRateRange } from "../structs/CAFrameRateRange.js";
export declare class _CAMetalDisplayLink extends _NSObject {
    static alloc(): _CAMetalDisplayLink;
    static new(): _CAMetalDisplayLink;
    init(): _CAMetalDisplayLink;
    initWithMetalLayer$(layer: _CAMetalLayer): _CAMetalDisplayLink;
    addToRunLoop$forMode$(runloop: _NSRunLoop, mode: _NSString): void;
    removeFromRunLoop$forMode$(runloop: _NSRunLoop, mode: _NSString): void;
    invalidate(): void;
    delegate(): _CAMetalDisplayLinkDelegate | null;
    setDelegate$(value: _CAMetalDisplayLinkDelegate | null): void;
    preferredFrameLatency(): number;
    setPreferredFrameLatency$(value: number): void;
    preferredFrameRateRange(): CAFrameRateRange;
    setPreferredFrameRateRange$(value: CAFrameRateRange): void;
    paused(): boolean;
    setPaused$(value: boolean): void;
}
