/**
 * @param {"build" | "serve"} command
 * @param {unknown} _config
 * @param {import('../types').userSettings} userSettings
 * @returns {import('vite').Plugin | null}
 */
export function needleLocalFilesSceneAnalysis(command: "build" | "serve", _config: unknown, userSettings: import("../types").userSettings): import("vite").Plugin | null;
/**
 * @param {string} projectDir
 * @returns {AutoPolicy | null}
 */
export function getLocalFilesAutoPolicy(projectDir: string): AutoPolicy | null;
/**
 * @param {import('../types').userSettings | undefined | null} userSettings
 * @returns {boolean}
 */
export function makeFilesLocalIsEnabled(userSettings: import("../types").userSettings | undefined | null): boolean;
/**
 * @param {import('../types').userSettings | undefined | null} userSettings
 * @returns {LocalizationOptions}
 */
export function resolveOptions(userSettings: import("../types").userSettings | undefined | null): LocalizationOptions;
/**
 * @param {string | string[] | undefined} features
 * @returns {boolean}
 */
export function hasAutoFeatureSelection(features: string | string[] | undefined): boolean;
/**
 * @param {LocalizationOptions} options
 * @param {string} projectDir
 * @returns {AutoPolicy | null}
 */
export function buildAutoPolicy(options: LocalizationOptions, projectDir: string): AutoPolicy | null;
/**
 * @param {string} projectDir
 * @param {LocalizationOptions} options
 * @param {SceneAnalysisReport | null} [cachedAnalysis]
 * @returns {AutoPolicy}
 */
export function detectAutoPolicy(projectDir: string, options: LocalizationOptions, cachedAnalysis?: SceneAnalysisReport | null): AutoPolicy;
/**
 * @param {string} projectDir
 * @returns {SceneAnalysisReport}
 */
export function analyzeProjectGlbs(projectDir: string): SceneAnalysisReport;
/**
 * @param {string} projectDir
 * @returns {string[]}
 */
export function collectAssetGlbs(projectDir: string): string[];
/**
 * @param {string} filePath
 * @returns {Record<string, unknown>}
 */
export function readGlbJsonChunk(filePath: string): Record<string, unknown>;
/**
 * @param {unknown} json
 * @returns {string[]}
 */
export function collectNeedleComponentExtensionBlobs(json: unknown): string[];
/**
 * @param {string} indexHtml
 * @returns {Set<string>}
 */
export function collectIndexHtmlSkyboxUrls(indexHtml: string): Set<string>;
/**
 * @param {string | string[] | undefined | null} skyboxOption
 * @param {Set<string>} indexSkyboxUrls
 * @returns {Set<string> | null}
 */
export function resolveSkyboxSelectionUrls(skyboxOption: string | string[] | undefined | null, indexSkyboxUrls: Set<string>): Set<string> | null;
/**
 * @param {string | null | undefined} value
 * @returns {string | null}
 */
export function resolveSkyboxValueToUrl(value: string | null | undefined): string | null;
/**
 * @param {string | undefined} mode
 * @returns {string[]}
 */
export function getWebXRProfilesForMode(mode: string | undefined): string[];
/**
 * @param {string} url
 * @param {UrlHandler} handler
 * @param {LocalizationContext} context
 * @returns {boolean}
 */
export function shouldHandleUrlInAutoMode(url: string, handler: UrlHandler, context: LocalizationContext): boolean;
export const SKYBOX_MAGIC_KEYWORDS: string[];
export type LocalizationOptions = import("./local-files-types.js").LocalizationOptions;
export type AutoPolicy = import("./local-files-types.js").AutoPolicy;
export type SceneAnalysisReport = import("./local-files-types.js").SceneAnalysisReport;
export type SceneFile = import("./local-files-types.js").SceneFile;
export type UrlHandler = import("./local-files-types.js").UrlHandler;
export type LocalizationContext = import("./local-files-types.js").LocalizationContext;
