import type { _MTRAttributeCacheContainer } from "./MTRAttributeCacheContainer.js";
import type { _MTRBaseDevice } from "./MTRBaseDevice.js";
import type { _MTRClusterStateCacheContainer } from "./MTRClusterStateCacheContainer.js";
import type { _MTRGenericBaseCluster } from "./MTRGenericBaseCluster.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 { _MTRSubscribeParams } from "./MTRSubscribeParams.js";
import type { _NSArray } from "../Foundation/NSArray.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 _MTRBaseClusterOTASoftwareUpdateProvider extends _MTRGenericBaseCluster {
    static alloc(): _MTRBaseClusterOTASoftwareUpdateProvider;
    static new(): _MTRBaseClusterOTASoftwareUpdateProvider;
    init(): _MTRBaseClusterOTASoftwareUpdateProvider;
    static readAttributeGeneratedCommandListWithClusterStateCache$endpoint$queue$completion$(clusterStateCacheContainer: _MTRClusterStateCacheContainer, endpoint: _NSNumber, queue: _NSObject, completion: ((value: _NSArray, error: _NSError) => void) | null): void;
    static readAttributeAcceptedCommandListWithClusterStateCache$endpoint$queue$completion$(clusterStateCacheContainer: _MTRClusterStateCacheContainer, endpoint: _NSNumber, queue: _NSObject, completion: ((value: _NSArray, error: _NSError) => void) | null): void;
    static readAttributeAttributeListWithClusterStateCache$endpoint$queue$completion$(clusterStateCacheContainer: _MTRClusterStateCacheContainer, endpoint: _NSNumber, queue: _NSObject, completion: ((value: _NSArray, error: _NSError) => void) | null): void;
    static readAttributeFeatureMapWithClusterStateCache$endpoint$queue$completion$(clusterStateCacheContainer: _MTRClusterStateCacheContainer, endpoint: _NSNumber, queue: _NSObject, completion: ((value: _NSNumber, error: _NSError) => void) | null): void;
    static readAttributeClusterRevisionWithClusterStateCache$endpoint$queue$completion$(clusterStateCacheContainer: _MTRClusterStateCacheContainer, endpoint: _NSNumber, queue: _NSObject, completion: ((value: _NSNumber, error: _NSError) => void) | null): void;
    /** Command QueryImage Determine availability of a new Software Image */
    queryImageWithParams$completion$(params: _MTROTASoftwareUpdateProviderClusterQueryImageParams, completion: ((data: _MTROTASoftwareUpdateProviderClusterQueryImageResponseParams, error: _NSError) => void) | null): void;
    /**
     * Command ApplyUpdateRequest Determine next action to take for a downloaded Software Image
     */
    applyUpdateRequestWithParams$completion$(params: _MTROTASoftwareUpdateProviderClusterApplyUpdateRequestParams, completion: ((data: _MTROTASoftwareUpdateProviderClusterApplyUpdateResponseParams, error: _NSError) => void) | null): void;
    /** Command NotifyUpdateApplied Notify OTA Provider that an update was applied */
    notifyUpdateAppliedWithParams$completion$(params: _MTROTASoftwareUpdateProviderClusterNotifyUpdateAppliedParams, completion: (arg0: _NSError) => void): void;
    readAttributeGeneratedCommandListWithCompletion$(completion: ((value: _NSArray, error: _NSError) => void) | null): void;
    subscribeAttributeGeneratedCommandListWithParams$subscriptionEstablished$reportHandler$(params: _MTRSubscribeParams, subscriptionEstablished: (() => void) | null, reportHandler: ((value: _NSArray, error: _NSError) => void) | null): void;
    readAttributeAcceptedCommandListWithCompletion$(completion: ((value: _NSArray, error: _NSError) => void) | null): void;
    subscribeAttributeAcceptedCommandListWithParams$subscriptionEstablished$reportHandler$(params: _MTRSubscribeParams, subscriptionEstablished: (() => void) | null, reportHandler: ((value: _NSArray, error: _NSError) => void) | null): void;
    readAttributeAttributeListWithCompletion$(completion: ((value: _NSArray, error: _NSError) => void) | null): void;
    subscribeAttributeAttributeListWithParams$subscriptionEstablished$reportHandler$(params: _MTRSubscribeParams, subscriptionEstablished: (() => void) | null, reportHandler: ((value: _NSArray, error: _NSError) => void) | null): void;
    readAttributeFeatureMapWithCompletion$(completion: ((value: _NSNumber, error: _NSError) => void) | null): void;
    subscribeAttributeFeatureMapWithParams$subscriptionEstablished$reportHandler$(params: _MTRSubscribeParams, subscriptionEstablished: (() => void) | null, reportHandler: ((value: _NSNumber, error: _NSError) => void) | null): void;
    readAttributeClusterRevisionWithCompletion$(completion: ((value: _NSNumber, error: _NSError) => void) | null): void;
    subscribeAttributeClusterRevisionWithParams$subscriptionEstablished$reportHandler$(params: _MTRSubscribeParams, subscriptionEstablished: (() => void) | null, reportHandler: ((value: _NSNumber, error: _NSError) => void) | null): void;
    /**
     * For all instance methods (reads, writes, commands) that take a completion, the completion will be called on the provided queue.
     */
    initWithDevice$endpointID$queue$(device: _MTRBaseDevice, endpointID: _NSNumber, queue: _NSObject): _MTRBaseClusterOTASoftwareUpdateProvider | null;
}
export declare class _MTRBaseClusterOtaSoftwareUpdateProvider extends _MTRBaseClusterOTASoftwareUpdateProvider {
    static alloc(): _MTRBaseClusterOtaSoftwareUpdateProvider;
    static new(): _MTRBaseClusterOtaSoftwareUpdateProvider;
    init(): _MTRBaseClusterOtaSoftwareUpdateProvider;
    static readAttributeGeneratedCommandListWithAttributeCache$endpoint$queue$completionHandler$(attributeCacheContainer: _MTRAttributeCacheContainer, endpoint: _NSNumber, queue: _NSObject, completionHandler: ((value: _NSArray, error: _NSError) => void) | null): void;
    static readAttributeAcceptedCommandListWithAttributeCache$endpoint$queue$completionHandler$(attributeCacheContainer: _MTRAttributeCacheContainer, endpoint: _NSNumber, queue: _NSObject, completionHandler: ((value: _NSArray, error: _NSError) => void) | null): void;
    static readAttributeAttributeListWithAttributeCache$endpoint$queue$completionHandler$(attributeCacheContainer: _MTRAttributeCacheContainer, endpoint: _NSNumber, queue: _NSObject, completionHandler: ((value: _NSArray, error: _NSError) => void) | null): void;
    static readAttributeFeatureMapWithAttributeCache$endpoint$queue$completionHandler$(attributeCacheContainer: _MTRAttributeCacheContainer, endpoint: _NSNumber, queue: _NSObject, completionHandler: ((value: _NSNumber, error: _NSError) => void) | null): void;
    static readAttributeClusterRevisionWithAttributeCache$endpoint$queue$completionHandler$(attributeCacheContainer: _MTRAttributeCacheContainer, endpoint: _NSNumber, queue: _NSObject, completionHandler: ((value: _NSNumber, error: _NSError) => void) | null): void;
    initWithDevice$endpoint$queue$(device: _MTRBaseDevice, endpoint: number, queue: _NSObject): _MTRBaseClusterOtaSoftwareUpdateProvider | null;
    queryImageWithParams$completionHandler$(params: _MTROtaSoftwareUpdateProviderClusterQueryImageParams, completionHandler: ((data: _MTROtaSoftwareUpdateProviderClusterQueryImageResponseParams, error: _NSError) => void) | null): void;
    applyUpdateRequestWithParams$completionHandler$(params: _MTROtaSoftwareUpdateProviderClusterApplyUpdateRequestParams, completionHandler: ((data: _MTROtaSoftwareUpdateProviderClusterApplyUpdateResponseParams, error: _NSError) => void) | null): void;
    notifyUpdateAppliedWithParams$completionHandler$(params: _MTROtaSoftwareUpdateProviderClusterNotifyUpdateAppliedParams, completionHandler: (arg0: _NSError) => void): void;
    readAttributeGeneratedCommandListWithCompletionHandler$(completionHandler: ((value: _NSArray, error: _NSError) => void) | null): void;
    subscribeAttributeGeneratedCommandListWithMinInterval$maxInterval$params$subscriptionEstablished$reportHandler$(minInterval: _NSNumber, maxInterval: _NSNumber, params: _MTRSubscribeParams | null, subscriptionEstablishedHandler: (() => void) | null, reportHandler: ((value: _NSArray, error: _NSError) => void) | null): void;
    readAttributeAcceptedCommandListWithCompletionHandler$(completionHandler: ((value: _NSArray, error: _NSError) => void) | null): void;
    subscribeAttributeAcceptedCommandListWithMinInterval$maxInterval$params$subscriptionEstablished$reportHandler$(minInterval: _NSNumber, maxInterval: _NSNumber, params: _MTRSubscribeParams | null, subscriptionEstablishedHandler: (() => void) | null, reportHandler: ((value: _NSArray, error: _NSError) => void) | null): void;
    readAttributeAttributeListWithCompletionHandler$(completionHandler: ((value: _NSArray, error: _NSError) => void) | null): void;
    subscribeAttributeAttributeListWithMinInterval$maxInterval$params$subscriptionEstablished$reportHandler$(minInterval: _NSNumber, maxInterval: _NSNumber, params: _MTRSubscribeParams | null, subscriptionEstablishedHandler: (() => void) | null, reportHandler: ((value: _NSArray, error: _NSError) => void) | null): void;
    readAttributeFeatureMapWithCompletionHandler$(completionHandler: ((value: _NSNumber, error: _NSError) => void) | null): void;
    subscribeAttributeFeatureMapWithMinInterval$maxInterval$params$subscriptionEstablished$reportHandler$(minInterval: _NSNumber, maxInterval: _NSNumber, params: _MTRSubscribeParams | null, subscriptionEstablishedHandler: (() => void) | null, reportHandler: ((value: _NSNumber, error: _NSError) => void) | null): void;
    readAttributeClusterRevisionWithCompletionHandler$(completionHandler: ((value: _NSNumber, error: _NSError) => void) | null): void;
    subscribeAttributeClusterRevisionWithMinInterval$maxInterval$params$subscriptionEstablished$reportHandler$(minInterval: _NSNumber, maxInterval: _NSNumber, params: _MTRSubscribeParams | null, subscriptionEstablishedHandler: (() => void) | null, reportHandler: ((value: _NSNumber, error: _NSError) => void) | null): void;
}
