import type { NobjcObject } from "objc-js";
import type { _SKTexture } from "./SKTexture.js";
import type { CGSize } from "../structs/CGSize.js";
export declare class _SKMutableTexture extends _SKTexture {
    static alloc(): _SKMutableTexture;
    static new(): _SKMutableTexture;
    init(): _SKMutableTexture;
    static mutableTextureWithSize$(size: CGSize): _SKMutableTexture;
    /**
     * Create a mutable texture with a specfic size. @param size the dimension to use when creating the given texture.
     */
    initWithSize$(size: CGSize): _SKMutableTexture;
    /**
     * Create a mutable texture with a specfic size and type. @param size the dimension to use when creating the given texture. @param format the CoreVideo format type. supported types include 'RGBA', 'RGhA', and 'RGfA' for byte, half-float, and float components.
     */
    initWithSize$pixelFormat$(size: CGSize, format: number): _SKMutableTexture;
    /** Modify the created mutable texture. */
    modifyPixelDataWithBlock$(block: (pixelData: NobjcObject, lengthInBytes: number) => void): void;
}
