import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _MTLTexture } from "./MTLTexture.js";
import type { MTLLoadAction } from "./MTLLoadAction.js";
import type { MTLStoreAction } from "./MTLStoreAction.js";
import type { MTLStoreActionOptions } from "./MTLStoreActionOptions.js";
export declare class _MTLRenderPassAttachmentDescriptor extends _NSObject {
    static alloc(): _MTLRenderPassAttachmentDescriptor;
    static new(): _MTLRenderPassAttachmentDescriptor;
    init(): _MTLRenderPassAttachmentDescriptor;
    /** @property texture @abstract The MTLTexture object for this attachment. */
    texture(): _MTLTexture | null;
    setTexture$(value: _MTLTexture | null): void;
    /**
     * @property level @abstract The mipmap level of the texture to be used for rendering. Default is zero.
     */
    level(): number;
    setLevel$(value: number): void;
    /**
     * @property slice @abstract The slice of the texture to be used for rendering. Default is zero.
     */
    slice(): number;
    setSlice$(value: number): void;
    /**
     * @property depthPlane @abstract The depth plane of the texture to be used for rendering. Default is zero.
     */
    depthPlane(): number;
    setDepthPlane$(value: number): void;
    /**
     * @property resolveTexture @abstract The texture used for multisample resolve operations. Only used (and required) if the store action is set to MTLStoreActionMultisampleResolve.
     */
    resolveTexture(): _MTLTexture | null;
    setResolveTexture$(value: _MTLTexture | null): void;
    /**
     * @property resolveLevel @abstract The mipmap level of the resolve texture to be used for multisample resolve. Defaults to zero.
     */
    resolveLevel(): number;
    setResolveLevel$(value: number): void;
    /**
     * @property resolveLevel @abstract The texture slice of the resolve texture to be used for multisample resolve. Defaults to zero.
     */
    resolveSlice(): number;
    setResolveSlice$(value: number): void;
    /**
     * @property resolveDepthPlane @abstract The texture depth plane of the resolve texture to be used for multisample resolve. Defaults to zero.
     */
    resolveDepthPlane(): number;
    setResolveDepthPlane$(value: number): void;
    /**
     * @property loadAction @abstract The action to be performed with this attachment at the beginning of a render pass. Default is MTLLoadActionDontCare unless specified by a creation or init method.
     */
    loadAction(): MTLLoadAction;
    setLoadAction$(value: MTLLoadAction): void;
    /**
     * @property storeAction @abstract The action to be performed with this attachment at the end of a render pass. Default is MTLStoreActionDontCare unless specified by a creation or init method.
     */
    storeAction(): MTLStoreAction;
    setStoreAction$(value: MTLStoreAction): void;
    /**
     * @property storeActionOptions @abstract Optional configuration for the store action performed with this attachment at the end of a render pass. Default is MTLStoreActionOptionNone.
     */
    storeActionOptions(): MTLStoreActionOptions;
    setStoreActionOptions$(value: MTLStoreActionOptions): void;
}
export interface _MTLRenderPassAttachmentDescriptor extends _NSCopying {
}
