/**
 * Outcome of a source-to-source edit attempt. Pure data. On success it carries
 * the rewritten source, so the caller owns the filesystem write.
 */
export type SourceEdit = {
    readonly kind: "applied";
    readonly from: string;
    readonly to: string;
    readonly nextSource: string;
} | {
    readonly kind: "bail";
    readonly reason: string;
    readonly line: number;
};
/**
 * Rewrites the `model` string literal passed to `defineAgent({ ... })` in
 * `sourceText`, returning the edited source.
 *
 * Pure transform: parses with Rolldown, finds the literal's byte span, and splices
 * only those bytes, so comments, formatting, and quote style everywhere else
 * are preserved by construction. Bails (no edit) when `model` is absent or
 * isn't a plain string literal. An env reference, a template, an inlined SDK
 * model object, or a spread all opt out into the manual path instead.
 */
export declare function applyModelNameToSource(sourceText: string, modelName: string): Promise<SourceEdit>;
