export declare const CURRENT_DIRECTORY_PROJECT_NAME = ".";
/**
 * Provider slug a gateway model id routes through: the segment before the
 * first "/" (e.g. `anthropic/claude-sonnet-4.6` → `anthropic`). The slug is
 * injected into generated source, so characters outside the catalog's slug
 * alphabet are dropped; an id without a usable prefix falls back to
 * `anthropic`.
 */
export declare function modelProviderSlug(modelId: string): string;
/**
 * Env var the byok scaffold reads the provider API key from, derived from the
 * model's provider slug (e.g. `anthropic/...` → `ANTHROPIC_API_KEY`). The name
 * is the scaffold's convention: the key is passed to the gateway `byok` block
 * explicitly, so users can rename it freely. Non-alphanumerics fold to `_`
 * and a leading digit is prefixed, keeping `process.env.<name>` valid source.
 */
export declare function byokProviderEnvVar(modelId: string): string;
export interface ScaffoldBaseProjectOptions {
    projectName: string;
    model: string;
    targetDirectory?: string;
    overwriteExisting?: boolean;
    onOverwriteFile?: (filePath: string) => void | Promise<void>;
    evePackageVersion?: string;
    aiPackageVersion?: string;
    zodPackageVersion?: string;
    tsgoPackageVersion?: string;
    typesNodePackageVersion?: string;
    /**
     * Scaffold an inline provider `byok` block in `agent.ts` that reads the
     * provider key from `process.env` instead of relying on the managed Vercel
     * AI Gateway. Adds `@types/node` to the project so `process` is typed.
     */
    byokProvider?: boolean;
}
export declare function scaffoldBaseProject(options: ScaffoldBaseProjectOptions): Promise<string>;
export declare function isEveProject(projectRoot: string): Promise<boolean>;
