import { type PersistentGoalState } from './state.js';
import { goalsEvaluateCopy, JUDGE_REASON_EN, type JudgeReasonId } from '../../i18n/goals-bundle.js';
import { normalizeServerLocale, type ServerLocale, serverLocaleOrFallback, isServerLocale } from '../../i18n/locale.js';
export declare const GOAL_UI_LOCALES: readonly ["en", "zh"];
export type GoalUiLocale = ServerLocale;
export declare const DEFAULT_GOAL_UI_LOCALE: "en" | "zh";
export declare const isGoalUiLocale: typeof isServerLocale;
export declare const normalizeGoalUiLocale: typeof normalizeServerLocale;
export declare const goalUiLocaleOrFallback: typeof serverLocaleOrFallback;
export declare function resolveGoalUiLocale(state: PersistentGoalState | undefined | null): GoalUiLocale;
export declare const CONTINUATION_PROMPT_TEMPLATE_EN: string;
export declare const CONTINUATION_PROMPT_WITH_CHECKLIST_TEMPLATE_EN: string;
export declare function buildContinuationPromptFromState(state: PersistentGoalState, locale: GoalUiLocale): string;
export declare function judgeResponseLanguageNote(locale: GoalUiLocale): string;
export { JUDGE_REASON_EN, type JudgeReasonId };
export declare function judgeReasonText(id: JudgeReasonId, locale: GoalUiLocale): string;
export declare function localizeJudgeReasonText(reason: string, locale: GoalUiLocale): string;
export declare function judgeFreeformBuiltinMessages(locale: GoalUiLocale): {
    emptyGoal: string;
    emptyResponse: string;
    noModel: string;
    callFailed: string;
};
export declare function checklistProgressSuffix(done: number, total: number, locale: GoalUiLocale): string;
export type GoalEvaluateUserCopyPack = ReturnType<typeof goalsEvaluateCopy>;
export declare function goalEvaluateUserCopy(locale: GoalUiLocale): GoalEvaluateUserCopyPack;
/** Persist `uiLocale` on the standing goal when the gateway console language is known. */
export declare function mergePersistentGoalUiLocale(customData: Record<string, unknown> | undefined, locale: GoalUiLocale | undefined): Record<string, unknown> | undefined;
