export type TextureCompressedFormat = "bc1-rgba-unorm" | "bc3-rgba-unorm" | "etc2-rgba8unorm" | "astc-4x4-rgba-unorm";
export type TextureFormat = "rgba8" | "rgba16f" | "rgba32f" | "depth24" | TextureCompressedFormat;
export type TextureColorSpace = "linear" | "srgb";
export type TexturePixelData = Uint8Array | Uint8ClampedArray | Uint16Array | Float32Array;
export type TextureDimension = "2d" | "cube";
export type TextureCubeFace = "px" | "nx" | "py" | "ny" | "pz" | "nz";
export interface TextureMipLevelDescriptor {
    readonly width: number;
    readonly height: number;
    readonly data: TexturePixelData;
}
export interface TextureMipLevel {
    readonly width: number;
    readonly height: number;
    readonly data: TexturePixelData;
}
export interface TextureCubeFaceDescriptor {
    readonly face: TextureCubeFace;
    readonly mipLevels: readonly TextureMipLevelDescriptor[];
}
export interface TextureCubeFaceLevel {
    readonly face: TextureCubeFace;
    readonly mipLevels: readonly TextureMipLevel[];
}
export interface TextureDescriptor {
    readonly width: number;
    readonly height: number;
    readonly dimension?: TextureDimension;
    readonly format?: TextureFormat;
    readonly colorSpace?: TextureColorSpace;
    readonly label?: string;
    readonly data?: TexturePixelData;
    readonly mipLevels?: readonly TextureMipLevelDescriptor[];
    readonly cubeFaces?: readonly TextureCubeFaceDescriptor[];
    readonly source?: TexImageSource;
    readonly fallbackData?: Uint8Array | Uint8ClampedArray;
    readonly fallbackMipLevels?: readonly TextureMipLevelDescriptor[];
}
export declare class Texture {
    readonly width: number;
    readonly height: number;
    readonly dimension: TextureDimension;
    readonly format: TextureFormat;
    readonly colorSpace: TextureColorSpace;
    readonly label: string;
    readonly data: TexturePixelData | null;
    readonly mipLevels: readonly TextureMipLevel[];
    readonly cubeFaces: readonly TextureCubeFaceLevel[];
    readonly source: TexImageSource | null;
    readonly fallbackData: Uint8Array | null;
    readonly fallbackMipLevels: readonly TextureMipLevel[];
    disposed: boolean;
    constructor(descriptor: TextureDescriptor);
    dispose(): void;
    get byteLength(): number;
    get fallbackByteLength(): number;
    get textureLevels(): readonly TextureMipLevel[];
    get fallbackTextureLevels(): readonly TextureMipLevel[];
}
export declare function bytesPerPixel(format: TextureFormat): number;
export declare function isCompressedTextureFormat(format: TextureFormat): format is TextureCompressedFormat;
export declare function compressedTextureByteLength(width: number, height: number, format: TextureCompressedFormat): number;
export declare function compressedBlockByteLength(format: TextureCompressedFormat): number;
//# sourceMappingURL=Texture.d.ts.map