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