import type { DbFile } from '../../../../types/dbTypes'; export declare const SPLAT_EXTENSIONS: readonly ["ply", "spz", "splat", "ksplat", "sog"]; /** For a file input's `accept`. */ export declare const SPLAT_ACCEPT = ".ply,.spz,.splat,.ksplat,.sog"; export declare function isSplatExtension(extension: string | null | undefined): boolean; /** * Which files Spark can render. Either signal is enough: an upload records the * type, while a file added through a generic path only carries an extension. */ export declare function isSplatFile(file: DbFile): boolean; /** * Splat ids to switch on: the visible ones `seen` has not claimed yet, which it then claims. * Claiming every splat, visible or not, is what keeps a refetch from re-adding a hidden one. */ export declare function claimSplatIds(files: DbFile[], seen: Set): string[]; /** Spark's `SplatFileType` values, as literals so only the loader ever imports Spark. */ export type SplatFileType = 'ply' | 'spz' | 'splat' | 'ksplat' | 'pcsogszip'; /** * Names the decoder for an extension. Assets are stored under an extensionless UUID, * so Spark cannot infer this from the download URL and throws if left to guess. */ export declare function splatFileType(extension: string | null | undefined): SplatFileType | undefined; //# sourceMappingURL=splatFiles.d.ts.map