import type { _MTLBuffer } from "./MTLBuffer.js";
import type { _MTLResourceViewPool } from "./MTLResourceViewPool.js";
import type { _MTLTexture } from "./MTLTexture.js";
import type { _MTLTextureDescriptor } from "./MTLTextureDescriptor.js";
import type { _MTLTextureViewDescriptor } from "./MTLTextureViewDescriptor.js";
import type { MTLResourceID } from "../structs/MTLResourceID.js";
export interface _MTLTextureViewPool extends _MTLResourceViewPool {
    /**
     * Copies a default texture view to a slot in this texture view pool at an index provided. - Parameters: - texture: An ``MTLTexture`` instance for which to copy its texture view. - index: An index of a slot in this texture pool into which this method copies the texture view. - Returns: The ``MTLResourceID`` of a newly created texture view in this pool.
     */
    setTextureView$atIndex$?(texture: _MTLTexture, index: number): MTLResourceID;
    /**
     * Creates a new lightweight texture view. This method creates a lightweight texture view over a texture according to a descriptor you provide. It then associates the texture view with a slot in this texture view pool at the index you specify. - Parameters: - texture: An ``MTLTexture`` instance for which to create a new lightweight texture view. - descriptor: A descriptor specifying properties of the texture view to create. - index: An index of a slot in the texture pool into which this method writes the new texture view. - Returns: The ``MTLResourceID`` of a newly created texture view in this pool.
     */
    setTextureView$descriptor$atIndex$?(texture: _MTLTexture, descriptor: _MTLTextureViewDescriptor, index: number): MTLResourceID;
    /**
     * Creates a new lightweight texture view of a buffer. This method creates a lightweight texture view over a buffer, according to a descriptor you provide. It then associates the texture view with a slot in this texture view pool at the index you specify. - Parameters: - buffer: An ``MTLBuffer`` instance for which to create a new texture view. - descriptor: A descriptor specifying properties of the texture view to create. - offset: A byte offset, within the `buffer` parameter, at which the data for the texture view starts. - bytesPerRow: The number of bytes between adjacent rows of pixels in the source buffer’s memory. - index: An index of a slot in the table into which this method writes the new texture view. - Returns: The ``MTLResourceID`` of a new buffer view in this pool.
     */
    setTextureViewFromBuffer$descriptor$offset$bytesPerRow$atIndex$?(buffer: _MTLBuffer, descriptor: _MTLTextureDescriptor, offset: number, bytesPerRow: number, index: number): MTLResourceID;
}
