/**
 * Schedule of one planned message as it is described to an agent.
 *
 * The fields match `AgentPlannedMessageSnapshot`, so one snapshot, one scheduling result, and one
 * stored planned message are all described by the very same sentence.
 *
 * @private internal convention shared by the Agents Server and agent-folder runner
 */
export type AgentPlannedMessageScheduleDescription = {
    readonly intervalMs?: number | null;
    readonly cronExpression?: string | null;
    readonly startsAt?: string | null;
    readonly endsAt?: string | null;
    readonly maxRunCount?: number | null;
    readonly runCount?: number | null;
    readonly dueAt?: string | null;
};
/**
 * Describes one planned-message schedule in a single sentence fragment.
 *
 * A planned message can repeat forever, repeat a bounded number of times, run inside a date window, or
 * wake the agent only once. Every surface showing a planned message — the wake-up itself, the goal-chat
 * notes, the planned-message prompt section, and the model tools — describes it with this one helper,
 * so an agent never has to reconcile two different wordings of the same plan.
 *
 * @param schedule - Schedule of the planned message.
 * @returns Fragment such as `repeats every 5 minutes (2 of 10 runs done)`.
 *
 * @private internal utility of the Agents Server planned messages
 */
export declare function describeAgentPlannedMessageSchedule(schedule: AgentPlannedMessageScheduleDescription): string;
