import { IIoK8sApiResourceV1OpaqueDeviceConfiguration } from "./OpaqueDeviceConfiguration.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * DeviceAllocationConfiguration gets embedded in an AllocationResult.
 */
export interface IDeviceAllocationConfiguration {
    /**
     * Opaque provides driver-specific configuration parameters.
     */
    "opaque"?: IIoK8sApiResourceV1OpaqueDeviceConfiguration;
    /**
     * Requests lists the names of requests where the configuration applies. If empty, its applies to all requests.
     *
     * References to subrequests must include the name of the main request and may include the subrequest using the format <main request>[/<subrequest>]. If just the main request is given, the configuration applies to all subrequests.
     */
    "requests"?: Array<string>;
    /**
     * Source records whether the configuration comes from a class and thus is not something that a normal user would have been able to set or from a claim.
     *
     *
     * Possible enum values:
     *  - `"FromClaim"`
     *  - `"FromClass"`
     */
    "source": "FromClaim" | "FromClass";
}
/**
 * DeviceAllocationConfiguration gets embedded in an AllocationResult.
 */
export declare class DeviceAllocationConfiguration extends Model<IDeviceAllocationConfiguration> implements IDeviceAllocationConfiguration {
    "opaque"?: IIoK8sApiResourceV1OpaqueDeviceConfiguration;
    "requests"?: Array<string>;
    "source": "FromClaim" | "FromClass";
    constructor(data?: ModelData<IDeviceAllocationConfiguration>);
}
export type { IDeviceAllocationConfiguration as IIoK8sApiResourceV1DeviceAllocationConfiguration, DeviceAllocationConfiguration as IoK8sApiResourceV1DeviceAllocationConfiguration };
