import { AndroidTargetName, AppleTargetName } from "./targets.js"; export declare function joinPathAndAssertExistence(...pathSegments: string[]): string; export declare function ensureCargo(): void; /** * Determine the name of the crate's "cdylib" target, without building anything, * by asking cargo for its metadata. This matches the basename a full build would * produce (e.g. "ferric_example" for a crate named "ferric-example"), since cargo * normalizes the crate name (dashes to underscores) for the compiled artifact. */ export declare function determineCargoLibraryName(cwd: string): string; type BuildOptions = { configuration: "debug" | "release"; verbose: boolean; } & ({ target: AndroidTargetName; ndkVersion: string; androidApiLevel: number; } | { target: AppleTargetName; ndkVersion?: never; androidApiLevel?: number; }); export declare function build(options: BuildOptions): Promise; export declare function getLLVMToolchainBinPath(ndkPath: string): string; export declare function getTargetAndroidArch(target: AndroidTargetName): string; export declare function getTargetAndroidPlatform(target: AndroidTargetName): "androideabi24" | "android24"; export declare function getWeakNodeApiFrameworkPath(target: AppleTargetName): string; export declare function getWeakNodeApiAndroidLibraryPath(target: AndroidTargetName): string; export declare function getTargetEnvironmentVariables({ target, ndkVersion, androidApiLevel, }: BuildOptions): Record; export {}; //# sourceMappingURL=cargo.d.ts.map