import type { NobjcObject } from "objc-js";
import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSData } from "../Foundation/NSData.js";
import type { _NSDictionary } from "../Foundation/NSDictionary.js";
import type { _NSNumber } from "../Foundation/NSNumber.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
export declare class _MTROTASoftwareUpdateProviderClusterQueryImageResponseParams extends _NSObject {
    static alloc(): _MTROTASoftwareUpdateProviderClusterQueryImageResponseParams;
    static new(): _MTROTASoftwareUpdateProviderClusterQueryImageResponseParams;
    init(): _MTROTASoftwareUpdateProviderClusterQueryImageResponseParams;
    /**
     * Initialize an MTROTASoftwareUpdateProviderClusterQueryImageResponseParams with a response-value dictionary of the sort that MTRDeviceResponseHandler would receive. Will return nil and hand out an error if the response-value dictionary is not a command data response or is not the right command response. Will return nil and hand out an error if the data response does not match the known schema for this command.
     */
    initWithResponseValue$error$(responseValue: _NSDictionary, error: NobjcObject | null): _MTROTASoftwareUpdateProviderClusterQueryImageResponseParams | null;
    status(): _NSNumber;
    setStatus$(value: _NSNumber): void;
    delayedActionTime(): _NSNumber | null;
    setDelayedActionTime$(value: _NSNumber | null): void;
    imageURI(): _NSString | null;
    setImageURI$(value: _NSString | null): void;
    softwareVersion(): _NSNumber | null;
    setSoftwareVersion$(value: _NSNumber | null): void;
    softwareVersionString(): _NSString | null;
    setSoftwareVersionString$(value: _NSString | null): void;
    updateToken(): _NSData | null;
    setUpdateToken$(value: _NSData | null): void;
    userConsentNeeded(): _NSNumber | null;
    setUserConsentNeeded$(value: _NSNumber | null): void;
    metadataForRequestor(): _NSData | null;
    setMetadataForRequestor$(value: _NSData | null): void;
    /**
     * Controls whether the command is a timed command (using Timed Invoke). If nil (the default value), a regular invoke is done for commands that do not require a timed invoke and a timed invoke with some default timed request timeout is done for commands that require a timed invoke. If not nil, a timed invoke is done, with the provided value used as the timed request timeout. The value should be chosen small enough to provide the desired security properties but large enough that it will allow a round-trip from the sever to the client (for the status response and actual invoke request) within the timeout window.
     */
    timedInvokeTimeoutMs(): _NSNumber | null;
    setTimedInvokeTimeoutMs$(value: _NSNumber | null): void;
}
export interface _MTROTASoftwareUpdateProviderClusterQueryImageResponseParams extends _NSCopying {
}
export declare class _MTROtaSoftwareUpdateProviderClusterQueryImageResponseParams extends _MTROTASoftwareUpdateProviderClusterQueryImageResponseParams {
    static alloc(): _MTROtaSoftwareUpdateProviderClusterQueryImageResponseParams;
    static new(): _MTROtaSoftwareUpdateProviderClusterQueryImageResponseParams;
    init(): _MTROtaSoftwareUpdateProviderClusterQueryImageResponseParams;
    status(): _NSNumber;
    setStatus$(value: _NSNumber): void;
    delayedActionTime(): _NSNumber | null;
    setDelayedActionTime$(value: _NSNumber | null): void;
    imageURI(): _NSString | null;
    setImageURI$(value: _NSString | null): void;
    softwareVersion(): _NSNumber | null;
    setSoftwareVersion$(value: _NSNumber | null): void;
    softwareVersionString(): _NSString | null;
    setSoftwareVersionString$(value: _NSString | null): void;
    updateToken(): _NSData | null;
    setUpdateToken$(value: _NSData | null): void;
    userConsentNeeded(): _NSNumber | null;
    setUserConsentNeeded$(value: _NSNumber | null): void;
    metadataForRequestor(): _NSData | null;
    setMetadataForRequestor$(value: _NSData | null): void;
    /**
     * Controls whether the command is a timed command (using Timed Invoke). If nil (the default value), a regular invoke is done for commands that do not require a timed invoke and a timed invoke with some default timed request timeout is done for commands that require a timed invoke. If not nil, a timed invoke is done, with the provided value used as the timed request timeout. The value should be chosen small enough to provide the desired security properties but large enough that it will allow a round-trip from the sever to the client (for the status response and actual invoke request) within the timeout window.
     */
    timedInvokeTimeoutMs(): _NSNumber | null;
    setTimedInvokeTimeoutMs$(value: _NSNumber | null): void;
}
