public protocol ExchangeIntentHandling: NSObjectProtocol {
/*! @abstract Dynamic options methods - provide options for the parameter at runtime @discussion Called to query dynamic options for the parameter and this intent in its current form.
@param intent The input intent @param completion The response block contains options for the parameter */ @available(iOS 14.0, macOS 10.16, watchOS 7.0, *) @objc(provideFromOptionsCollectionForExchange:withCompletion:) func provideFromOptionsCollection(for intent: ExchangeIntent, with completion: @escaping (INObjectCollection<Exchange>?, Error?) -> Swift.Void)
/*! @abstract Confirmation method - Validate that this intent is ready for the next step (i.e. handling) @discussion Called prior to asking the app to handle the intent. The app should return a response object that contains additional information about the intent, which may be relevant for the system to show the user prior to handling. If unimplemented, the system will assume the intent is valid, and will assume there is no additional information relevant to this intent.
@param intent The input intent @param completion The response block contains a ExchangeIntentResponse containing additional details about the intent that may be relevant for the system to show the user prior to handling.
/*! @abstract Handling method - Execute the task represented by the ExchangeIntent that's passed in @discussion Called to actually execute the intent. The app must return a response for this intent.
@param intent The input intent @param completion The response handling block takes a ExchangeIntentResponse containing the details of the result of having executed the intent