import type { _VZNetworkDevice } from "./VZNetworkDevice.js";
import type { _VZVirtualMachine } from "./VZVirtualMachine.js";
import type { _NSError } from "../Foundation/NSError.js";
export interface _VZVirtualMachineDelegate {
    /**
     * Invoked when a guest has stopped the virtual machine. The virtual machine invoking the delegate method.
     */
    guestDidStopVirtualMachine$?(virtualMachine: _VZVirtualMachine): void;
    /**
     * Invoked when a virtual machine is stopped due to an error. The virtual machine invoking the delegate method. The error.
     */
    virtualMachine$didStopWithError$?(virtualMachine: _VZVirtualMachine, error: _NSError): void;
    /**
     * Invoked when a virtual machine's network attachment has been disconnected. This method is invoked every time that the network interface fails to start, resulting in the network attachment being disconnected. This can happen in many situations such as initial boot, device reset, reboot, etc. Therefore, this method may be invoked several times during a virtual machine's life cycle. The VZNetworkDevice.attachment property will be nil after the method is invoked. The virtual machine invoking the delegate method. The network device whose attachment was disconnected. The error.
     */
    virtualMachine$networkDevice$attachmentWasDisconnectedWithError$?(virtualMachine: _VZVirtualMachine, networkDevice: _VZNetworkDevice, error: _NSError): void;
}
