import { ILogger } from "@gltf-transform/core"; declare type Usecase = "default" | "product" | "world"; export declare const UsecaseOptions: string[]; /** * The config object contains information about how a file should be processed. */ export type Config = { /** High-level configuration */ usecase: Usecase; textures?: { lods: boolean; }; meshes?: { lods: boolean; }; }; /** * Create a config object with the given usecase. */ export declare function createConfig(usecase: string): { usecase: Usecase; }; /** * Get the config object either provided by a CLI path or a needle.config.json file in the parent directory. * * @example CLI argument where the path points to a json file containing the config as `Config` * ```sh * node script.js --config path/to/my-optimization-config.json * ``` * * @example needle.config.json - the usecase can be provided as a string * ```json * { * "optimization": "product" * } * ``` * * @example needle.config.json - the whole config object can be provided * ```json * { * "optimization": { * "usecase": "product" * } * } * ``` * * */ export declare function getConfig(configPath?: string, fallbackSearchDirectory?: string, opts?: { logger: ILogger; }): Config; export declare function searchConfig(directory: string, logger: ILogger): Config | null; export {};