import { StackEcosystem } from '../index.js';

declare const NUDGE_NAME_LIMIT = 64;
interface NudgeState {
    set_hash: string;
    shown_at: string;
    line: string;
}
interface RulesDriftNudge {
    line: string;
    set_hash: string;
    count: number;
    names: string[];
    open_run: string | null;
}
declare function isShowablePackageName(ecosystem: StackEcosystem, name: string): boolean;
declare function manifestPackageNames(projectRoot: string): Array<{
    name: string;
    ecosystem: StackEcosystem;
}>;
declare function nudgeLine(count: number, names: readonly string[], openRun: string | null): string;
declare function computeRulesDriftNudge(projectRoot: string, now?: Date): RulesDriftNudge | null;
declare function readNudgeState(projectRoot: string): NudgeState | null;
declare function clearNudgeState(projectRoot: string): void;
declare function rulesDriftSessionStartText(projectRoot: string, now?: Date): string | null;
declare function rulesDriftHeadline(projectRoot: string): string | null;

export { NUDGE_NAME_LIMIT, clearNudgeState, computeRulesDriftNudge, isShowablePackageName, manifestPackageNames, nudgeLine, readNudgeState, rulesDriftHeadline, rulesDriftSessionStartText };
export type { NudgeState, RulesDriftNudge };
