import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _MTLAttributeDescriptorArray } from "./MTLAttributeDescriptorArray.js";
import type { _MTLBufferLayoutDescriptorArray } from "./MTLBufferLayoutDescriptorArray.js";
import type { MTLIndexType } from "./MTLIndexType.js";
export declare class _MTLStageInputOutputDescriptor extends _NSObject {
    static alloc(): _MTLStageInputOutputDescriptor;
    static new(): _MTLStageInputOutputDescriptor;
    init(): _MTLStageInputOutputDescriptor;
    static stageInputOutputDescriptor(): _MTLStageInputOutputDescriptor;
    reset(): void;
    layouts(): _MTLBufferLayoutDescriptorArray;
    attributes(): _MTLAttributeDescriptorArray;
    /** only used for compute with MTLStepFunction...Indexed */
    indexType(): MTLIndexType;
    setIndexType$(value: MTLIndexType): void;
    indexBufferIndex(): number;
    setIndexBufferIndex$(value: number): void;
}
export interface _MTLStageInputOutputDescriptor extends _NSCopying {
}
