export type TextureStatus = 'idle' | 'loading' | 'ready' | 'error' | 'destroyed';
/** Raster-only data URLs avoid SVG script/external-resource behavior. Remote images require HTTPS. */
export declare function isSafeTextureSource(value: unknown): value is string;
/** Owns exactly one asynchronous load. Stale callbacks cannot resurrect a disposed texture. */
export declare class SnowTexture {
    private readonly doc;
    private readonly onError;
    private requested;
    private pending;
    private drawable;
    private generation;
    private currentStatus;
    constructor(doc: Document, onError?: (error: Error) => void);
    get status(): TextureStatus;
    get image(): HTMLImageElement | undefined;
    setSource(source?: string): void;
    private fail;
    private clearImage;
    destroy(): void;
}
//# sourceMappingURL=Texture.d.ts.map