import type { _NSArray } from "./NSArray.js";
import type { _NSObject } from "./NSObject.js";
import type { _NSString } from "./NSString.js";
import type { NSOperationQueuePriority } from "./NSOperationQueuePriority.js";
import type { NSQualityOfService } from "./NSQualityOfService.js";
export declare class _NSOperation extends _NSObject {
    static alloc(): _NSOperation;
    static new(): _NSOperation;
    init(): _NSOperation;
    start(): void;
    main(): void;
    cancel(): void;
    addDependency$(op: _NSOperation): void;
    removeDependency$(op: _NSOperation): void;
    /** @deprecated Not supported */
    waitUntilFinished(): void;
    cancelled(): boolean;
    executing(): boolean;
    finished(): boolean;
    /** To be deprecated; use and override 'asynchronous' below */
    concurrent(): boolean;
    asynchronous(): boolean;
    ready(): boolean;
    dependencies(): _NSArray;
    queuePriority(): NSOperationQueuePriority;
    setQueuePriority$(value: NSOperationQueuePriority): void;
    /** @deprecated Not supported */
    completionBlock(): (() => void) | null;
    setCompletionBlock$(value: (() => void) | null): void;
    /** @deprecated Not supported */
    threadPriority(): number;
    setThreadPriority$(value: number): void;
    qualityOfService(): NSQualityOfService;
    setQualityOfService$(value: NSQualityOfService): void;
    name(): _NSString | null;
    setName$(value: _NSString | null): void;
}
