import type { _NSObject } from "../Foundation/NSObject.js";
import type { _MTLResourceStatePassSampleBufferAttachmentDescriptor } from "./MTLResourceStatePassSampleBufferAttachmentDescriptor.js";
export declare class _MTLResourceStatePassSampleBufferAttachmentDescriptorArray extends _NSObject {
    static alloc(): _MTLResourceStatePassSampleBufferAttachmentDescriptorArray;
    static new(): _MTLResourceStatePassSampleBufferAttachmentDescriptorArray;
    init(): _MTLResourceStatePassSampleBufferAttachmentDescriptorArray;
    /** Individual attachment state access */
    objectAtIndexedSubscript$(attachmentIndex: number): _MTLResourceStatePassSampleBufferAttachmentDescriptor;
    /**
     * This always uses 'copy' semantics. It is safe to set the attachment state at any legal index to nil, which resets that attachment descriptor state to default values.
     */
    setObject$atIndexedSubscript$(attachment: _MTLResourceStatePassSampleBufferAttachmentDescriptor | null, attachmentIndex: number): void;
}
