import { type ScheduleDefinition } from "#public/definitions/schedule.js";
import { type SkillDefinition } from "#public/definitions/skill.js";
import type { InstructionsDefinition } from "#public/definitions/instructions.js";
/**
 * Lowers authored instructions prompt markdown into the shared public
 * definition shape. Instructions identity is path-derived, so the lowered
 * definition never carries a `name`.
 */
export declare function lowerInstructionsMarkdown(markdown: string): InstructionsDefinition;
/**
 * Optional input for {@link lowerSkillMarkdown}.
 *
 * `slug` is the path-derived skill identifier (the directory name for a
 * skill package, or the filename for a flat skill); it is used only to
 * derive a sensible default description when the markdown body has none.
 * Skill identity itself comes from the file path — the lowered definition
 * never carries a `name`.
 */
interface LowerSkillMarkdownInput {
    readonly description?: string;
    readonly slug?: string;
}
/**
 * Lowers authored skill markdown into the shared public definition shape.
 *
 * Supports both packaged skill files (`SKILL.md` inside a skill
 * directory; description comes from frontmatter) and flat skill files
 * (`<name>.md` next to other skills; description may be derived from
 * the markdown body). Identity is path-derived, so an authored `name`
 * frontmatter field is silently ignored — `SKILL.md` files commonly
 * carry one for compatibility with the broader Agent Skills ecosystem,
 * and we accept it without using it rather than rejecting the file.
 */
/**
 * Lowers an authored schedule markdown file into the shared public
 * definition shape. The frontmatter must contain `cron`. The body
 * becomes the schedule's `markdown` (the fire-and-forget prompt the
 * agent runs when the cron fires). Markdown-form schedules cannot
 * declare a `run` handler — use the `.ts` form for handler-based
 * schedules. Schedule identity is path-derived, so the lowered
 * definition never carries a `name`.
 */
export declare function lowerScheduleMarkdown(source: string): ScheduleDefinition;
export declare function lowerSkillMarkdown(source: string, input?: LowerSkillMarkdownInput): SkillDefinition;
export {};
