import type { _NSError } from "../Foundation/NSError.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSURL } from "../Foundation/NSURL.js";
import type { _MLComputePlanCost } from "./MLComputePlanCost.js";
import type { _MLComputePlanDeviceUsage } from "./MLComputePlanDeviceUsage.js";
import type { _MLModelAsset } from "./MLModelAsset.js";
import type { _MLModelConfiguration } from "./MLModelConfiguration.js";
import type { _MLModelStructure } from "./MLModelStructure.js";
import type { _MLModelStructureNeuralNetworkLayer } from "./MLModelStructureNeuralNetworkLayer.js";
import type { _MLModelStructureProgramOperation } from "./MLModelStructureProgramOperation.js";
export declare class _MLComputePlan extends _NSObject {
    static alloc(): _MLComputePlan;
    static new(): _MLComputePlan;
    init(): _MLComputePlan;
    /**
     * Construct the compute plan of a model asynchronously given the location of its on-disk representation. @param url The location of its on-disk representation (.mlmodelc directory). @param configuration The model configuration. @param handler When the compute plan is constructed successfully or unsuccessfully, the completion handler is invoked with a valid MLComputePlan instance or NSError object.
     */
    static loadContentsOfURL$configuration$completionHandler$(url: _NSURL, configuration: _MLModelConfiguration, handler: ((computePlan: _MLComputePlan, error: _NSError) => void) | null): void;
    /**
     * Construct the compute plan of a model asynchronously given the model asset. @param asset The model asset. @param configuration The model configuration. @param handler When the compute plan is constructed successfully or unsuccessfully, the completion handler is invoked with a valid MLComputePlan instance or NSError object.
     */
    static loadModelAsset$configuration$completionHandler$(asset: _MLModelAsset, configuration: _MLModelConfiguration, handler: ((computePlan: _MLComputePlan, error: _NSError) => void) | null): void;
    /**
     * Returns the estimated cost of executing an ML Program operation. @param operation An ML Program operation. @returns The estimated cost of executing the operation or nil if the cost couldn't be estimated.
     */
    estimatedCostOfMLProgramOperation$(operation: _MLModelStructureProgramOperation): _MLComputePlanCost | null;
    /**
     * Returns the anticipated compute devices that would be used for executing a NeuralNetwork layer. @param layer A NeuralNetwork layer. @returns The anticipated compute devices that would be used for executing the layer or `nil` if the usage couldn't be determined.
     */
    computeDeviceUsageForNeuralNetworkLayer$(layer: _MLModelStructureNeuralNetworkLayer): _MLComputePlanDeviceUsage | null;
    /**
     * Returns The anticipated compute devices that would be used for executing an ML Program operation. @param operation An ML Program operation. @returns The anticipated compute devices that would be used for executing the operation or `nil`if the usage couldn't be determined.
     */
    computeDeviceUsageForMLProgramOperation$(operation: _MLModelStructureProgramOperation): _MLComputePlanDeviceUsage | null;
    /** The model structure. */
    modelStructure(): _MLModelStructure;
}
