import { ShaderMaterial, type AnyPixelFormat, type IUniform, type Texture, type TextureDataType } from 'three'; import Interpretation, { type InterpretationUniform } from '../../core/layer/Interpretation'; interface NoDataOptions { replacementAlpha: number; radius: number; enabled: boolean; } export interface Options { texture: Texture; interpretation: Interpretation; flipY: boolean; noDataOptions: NoDataOptions; showImageOutlines: boolean; showEmptyTexture: boolean; transparent: boolean; expandRGB: boolean; convertRGFloatToRGBAUnsignedByte: { precision: number; offset: number; } | null; } type Uniforms = { tex: IUniform; gridTexture: IUniform; flipY: IUniform; showImageOutlines: IUniform; expandRGB: IUniform; opacity: IUniform; channelCount: IUniform; showEmptyTexture: IUniform; isEmptyTexture: IUniform; noDataOptions: IUniform; interpretation: IUniform; convertRGFloatToRGBAUnsignedByte: IUniform; heightPrecision: IUniform; heightOffset: IUniform; } & Record; declare class ComposerTileMaterial extends ShaderMaterial { readonly isComposerTileMaterial: true; dataType?: TextureDataType; pixelFormat?: AnyPixelFormat; readonly uniforms: Uniforms; /** * Creates an instance of ComposerTileMaterial. * * @param options - The options */ constructor(options: Options); private init; private reset; /** * Acquires a pooled material. * * @param opts - The options. */ static acquire(opts: Options): ComposerTileMaterial; /** * Releases the material back into the pool. * * @param material - The material. */ static release(material: ComposerTileMaterial): void; } export declare function isComposerTileMaterial(obj: unknown): obj is ComposerTileMaterial; export default ComposerTileMaterial; //# sourceMappingURL=ComposerTileMaterial.d.ts.map