/** User-authored Zephyr project configuration. */
export type ZephyrDependencyUrlMode = 'selector' | 'version';
export interface ZephyrConfig {
    /** Overrides the organization inferred from the Git remote. */
    org?: string;
    /** Overrides the project inferred from the Git remote. */
    project?: string;
    /** Overrides the application name read from package.json. */
    appName?: string;
    /** Adds to package.json zephyr:dependencies; config entries win by key. */
    remoteDependencies?: Record<string, string>;
    /** Chooses mutable selector URLs or immutable version URLs for resolved remotes. */
    dependencyUrlMode?: ZephyrDependencyUrlMode;
}
export type ResolvedZephyrConfig = Readonly<Omit<ZephyrConfig, 'remoteDependencies'> & {
    remoteDependencies?: Readonly<Record<string, string>>;
}>;
/** Provides contextual typing without changing the supplied configuration. */
export declare function defineConfig(config: ZephyrConfig): ZephyrConfig;
/** Normalize a bundler context to the directory all project-local reads must use. */
export declare function resolveZephyrContextDirectory(context?: string): string;
/** Load and validate the nearest Zephyr config without reading environment overrides. */
export declare function getZephyrConfig(context?: string): ResolvedZephyrConfig;
/** Merge config dependencies over package dependencies without mutating either input. */
export declare function mergeRemoteDependencies(packageDependencies: Record<string, string> | undefined, config: ResolvedZephyrConfig): Record<string, string> | undefined;
//# sourceMappingURL=zephyr-config.d.mts.map