import type { ExpoConfig } from '@expo/config-types'; import { ConfigPlugin } from 'expo/config-plugins'; declare const DEFAULT_BUILD_TYPE = "Release"; export type VegaProjectOptions = { /** * Vega package id. Defaults to android.package, then ios.bundleIdentifier. */ packageId?: string; /** * User-visible Vega app title. Defaults to Expo config name. */ title?: string; /** * Main interactive component id. Defaults to `${packageId}.main`. */ componentId?: string; /** * Kepler app name used by React Native for Vega tooling. */ appName?: string; /** * Icon path copied to assets/image for manifest.toml. Defaults to config.icon. */ icon?: string; /** * Whether to update package.json with Vega dependencies, scripts, and kepler metadata. */ syncPackageJson?: boolean; /** * Whether to generate the Vega target. `true` forces it on, `false` forces * it off, and an unset value auto-detects from the project: a root * manifest.toml means Vega, unless Fire OS is declared. */ enabled?: boolean; }; export type VegaProjectSettings = { packageId: string; title: string; version: string; iconFileName: string; componentId: string; appName: string; buildType: typeof DEFAULT_BUILD_TYPE; }; export declare const normalizeVegaPackageId: (value: string) => string; export declare const resolveVegaProjectSettings: (config: ExpoConfig, options?: VegaProjectOptions) => VegaProjectSettings; export declare const createVegaManifest: (settings: VegaProjectSettings) => string; export declare const createVegaEntryPoint: () => string; export declare const createVegaAppJson: (settings: VegaProjectSettings) => Record; type MutablePackageJson = { name?: string; scripts?: Record; dependencies?: Record; devDependencies?: Record; optionalDependencies?: Record; kepler?: Record; }; export declare const mergeVegaPackageJson: (pkg: T, settings: VegaProjectSettings) => T & MutablePackageJson; export declare const isVegaTargetProject: (projectRoot: string) => boolean; declare const withVega: ConfigPlugin; export default withVega;