export type Os = "macos" | "linux" | "windows" | "unknown";
export type Arch = "x86_64" | "arm64" | "unknown";
export declare const TARGETS: readonly ["python-x86_64-linux", "python-x86_64-windows", "python-x86_64-macos", "python-arm64-macos", "python-arm64-linux", "node-x86_64-linux", "node-x86_64-windows", "node-x86_64-macos", "node-arm64-macos", "node-arm64-linux", "wasm-unknown-unknown"];
export type Target = typeof TARGETS[number];
export declare const archFromTarget: (target: Target) => Arch;
export declare const osFromTarget: (target: Target) => Os;
export declare const QPC_DIR = ".qpace";
export declare const QPC_CONFIG_FILENAME = ".qpace.json";
export declare enum FileTag {
    QPC_PYTHON_WHEEL = "qpc_python_wheel"
}
export interface Config {
    [key: string]: any;
    rust?: RustConfig;
    python?: PythonConfig;
    node?: NodeConfig;
    web?: WebConfig;
    emit?: boolean;
    outDir?: string;
    include?: string[];
    exclude?: string[];
    install?: boolean;
    test?: boolean;
}
export interface RustConfig {
    qpaceCoreCrate?: string;
}
export interface PythonConfig {
    package?: string;
    qpacePackage?: string;
}
export type NodePackageManager = "auto" | "npm" | "yarn" | "pnpm" | "bun";
export interface NodeConfig {
    package?: string;
    packageManager?: NodePackageManager;
    qpacePackage?: string;
}
export interface WebConfig {
    package?: string;
    qpacePackage?: string;
}
export declare const getDefaultConfig: () => Config;
export declare const getInitConfig: () => Config;
export declare const mergeConfigs: (config: Config, newConfig: Config) => Config;
//# sourceMappingURL=config.d.ts.map