import type { _MTRDevice } from "./MTRDevice.js";
import type { _MTRGenericCluster } from "./MTRGenericCluster.js";
import type { _MTROTASoftwareUpdateProviderClusterApplyUpdateRequestParams, _MTROtaSoftwareUpdateProviderClusterApplyUpdateRequestParams } from "./MTROtaSoftwareUpdateProviderClusterApplyUpdateRequestParams.js";
import type { _MTROTASoftwareUpdateProviderClusterApplyUpdateResponseParams, _MTROtaSoftwareUpdateProviderClusterApplyUpdateResponseParams } from "./MTROtaSoftwareUpdateProviderClusterApplyUpdateResponseParams.js";
import type { _MTROTASoftwareUpdateProviderClusterNotifyUpdateAppliedParams, _MTROtaSoftwareUpdateProviderClusterNotifyUpdateAppliedParams } from "./MTROtaSoftwareUpdateProviderClusterNotifyUpdateAppliedParams.js";
import type { _MTROTASoftwareUpdateProviderClusterQueryImageParams, _MTROtaSoftwareUpdateProviderClusterQueryImageParams } from "./MTROtaSoftwareUpdateProviderClusterQueryImageParams.js";
import type { _MTROTASoftwareUpdateProviderClusterQueryImageResponseParams, _MTROtaSoftwareUpdateProviderClusterQueryImageResponseParams } from "./MTROtaSoftwareUpdateProviderClusterQueryImageResponseParams.js";
import type { _MTRReadParams } from "./MTRReadParams.js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSDictionary } from "../Foundation/NSDictionary.js";
import type { _NSError } from "../Foundation/NSError.js";
import type { _NSNumber } from "../Foundation/NSNumber.js";
import type { _NSObject } from "../Foundation/NSObject.js";
export declare class _MTRClusterOTASoftwareUpdateProvider extends _MTRGenericCluster {
    static alloc(): _MTRClusterOTASoftwareUpdateProvider;
    static new(): _MTRClusterOTASoftwareUpdateProvider;
    init(): _MTRClusterOTASoftwareUpdateProvider;
    queryImageWithParams$expectedValues$expectedValueInterval$completion$(params: _MTROTASoftwareUpdateProviderClusterQueryImageParams, expectedDataValueDictionaries: _NSArray | null, expectedValueIntervalMs: _NSNumber | null, completion: ((data: _MTROTASoftwareUpdateProviderClusterQueryImageResponseParams, error: _NSError) => void) | null): void;
    applyUpdateRequestWithParams$expectedValues$expectedValueInterval$completion$(params: _MTROTASoftwareUpdateProviderClusterApplyUpdateRequestParams, expectedDataValueDictionaries: _NSArray | null, expectedValueIntervalMs: _NSNumber | null, completion: ((data: _MTROTASoftwareUpdateProviderClusterApplyUpdateResponseParams, error: _NSError) => void) | null): void;
    notifyUpdateAppliedWithParams$expectedValues$expectedValueInterval$completion$(params: _MTROTASoftwareUpdateProviderClusterNotifyUpdateAppliedParams, expectedDataValueDictionaries: _NSArray | null, expectedValueIntervalMs: _NSNumber | null, completion: (arg0: _NSError) => void): void;
    readAttributeGeneratedCommandListWithParams$(params: _MTRReadParams | null): _NSDictionary | null;
    readAttributeAcceptedCommandListWithParams$(params: _MTRReadParams | null): _NSDictionary | null;
    readAttributeAttributeListWithParams$(params: _MTRReadParams | null): _NSDictionary | null;
    readAttributeFeatureMapWithParams$(params: _MTRReadParams | null): _NSDictionary | null;
    readAttributeClusterRevisionWithParams$(params: _MTRReadParams | null): _NSDictionary | null;
    /**
     * For all instance methods that take a completion (i.e. command invocations), the completion will be called on the provided queue.
     */
    initWithDevice$endpointID$queue$(device: _MTRDevice, endpointID: _NSNumber, queue: _NSObject): _MTRClusterOTASoftwareUpdateProvider | null;
}
export declare class _MTRClusterOtaSoftwareUpdateProvider extends _MTRClusterOTASoftwareUpdateProvider {
    static alloc(): _MTRClusterOtaSoftwareUpdateProvider;
    static new(): _MTRClusterOtaSoftwareUpdateProvider;
    init(): _MTRClusterOtaSoftwareUpdateProvider;
    initWithDevice$endpoint$queue$(device: _MTRDevice, endpoint: number, queue: _NSObject): _MTRClusterOtaSoftwareUpdateProvider | null;
    queryImageWithParams$expectedValues$expectedValueInterval$completionHandler$(params: _MTROtaSoftwareUpdateProviderClusterQueryImageParams, expectedDataValueDictionaries: _NSArray | null, expectedValueIntervalMs: _NSNumber | null, completionHandler: ((data: _MTROtaSoftwareUpdateProviderClusterQueryImageResponseParams, error: _NSError) => void) | null): void;
    applyUpdateRequestWithParams$expectedValues$expectedValueInterval$completionHandler$(params: _MTROtaSoftwareUpdateProviderClusterApplyUpdateRequestParams, expectedDataValueDictionaries: _NSArray | null, expectedValueIntervalMs: _NSNumber | null, completionHandler: ((data: _MTROtaSoftwareUpdateProviderClusterApplyUpdateResponseParams, error: _NSError) => void) | null): void;
    notifyUpdateAppliedWithParams$expectedValues$expectedValueInterval$completionHandler$(params: _MTROtaSoftwareUpdateProviderClusterNotifyUpdateAppliedParams, expectedDataValueDictionaries: _NSArray | null, expectedValueIntervalMs: _NSNumber | null, completionHandler: (arg0: _NSError) => void): void;
}
