import { Texture2D } from './resources.js'; export declare enum BlendMode { OPAQUE = 0, ALPHA = 1, ADDITIVE = 2 } export interface MaterialOptions { readonly textures: (WebGLTexture | Texture2D)[]; readonly fps?: number; readonly blendMode?: BlendMode; readonly twoSided?: boolean; readonly depthWrite?: boolean; readonly scroll?: readonly [number, number]; readonly warp?: boolean; } export declare class Material { readonly blendMode: BlendMode; readonly twoSided: boolean; readonly depthWrite: boolean; readonly warp: boolean; readonly scroll: readonly [number, number]; private readonly textures; private readonly fps; private currentIndex; private lastAnimationTime; private lastTime; constructor(options: MaterialOptions); update(time: number): void; get texture(): WebGLTexture | Texture2D | null; get scrollOffset(): readonly [number, number]; } export declare class MaterialManager { private readonly materials; getMaterial(name: string): Material | undefined; registerMaterial(name: string, options: MaterialOptions): Material; update(time: number): void; clear(): void; } //# sourceMappingURL=materials.d.ts.map