import type { EnvOptions } from '../types.js'; export interface BundleArguments { entryFile?: string; platform: string; dev: boolean; minify?: boolean; bundleOutput?: string; sourcemapOutput?: string; assetsDest?: string; json?: string; stats?: string; resetCache?: boolean; verbose?: boolean; watch?: boolean; maxWorkers?: number; config?: string; webpackConfig?: string; } export interface StartArguments { port?: number; host: string; https?: boolean; key?: string; cert?: string; interactive?: boolean; json?: boolean; logFile?: string; logRequests?: boolean; platform?: string; resetCache?: boolean; reversePort?: boolean; verbose?: boolean; maxWorkers?: number; config?: string; webpackConfig?: string; } export interface CliConfig { root: string; platforms: string[]; reactNativePath: string; } export interface StartCliOptions { command: 'start'; config: CliConfig; arguments: { start: StartArguments; }; } export interface BundleCliOptions { command: 'bundle'; config: CliConfig; arguments: { bundle: BundleArguments; }; } export type CliOptions = StartCliOptions | BundleCliOptions; export type RemoveRecord = T extends infer U & Record ? U : never; type ConfigKeys = 'name' | 'context' | 'mode' | 'devServer' | 'entry' | 'optimization' | 'output' | 'resolve'; export type ConfigurationObject = Partial>; export type Configuration = T | ((env: EnvOptions, argv: Record) => T | Promise); export {};