/**
 * GitHub Issue Template Parser.
 *
 * Parses .github/ISSUE_TEMPLATE/*.yml files into JSON config.
 * Supports three resolution strategies:
 *   1. Live parse from YAML templates (if in a repo with templates)
 *   2. Cached config from .cleo/issue-templates.json
 *   3. Hardcoded fallback defaults
 *
 * @task T4454
 * @epic T4454
 */
/** Parsed issue template. */
export interface IssueTemplate {
    name: string;
    description: string;
    title: string;
    labels: string[];
    subcommand: string;
    fileName: string;
}
/**
 * Parse all issue templates from available sources.
 * Priority:
 *   1. Packaged templates in the CLEO installation (for npm-installed users)
 *   2. Project's .github/ISSUE_TEMPLATE/ (for contributors working on CLEO)
 */
export declare function parseIssueTemplates(projectDir?: string): IssueTemplate[];
/**
 * Get template configuration - tries live parse, cache, then fallback.
 */
export declare function getTemplateConfig(cwd?: string): IssueTemplate[];
/**
 * Get the template for a specific subcommand (bug, feature, etc.).
 */
export declare function getTemplateForSubcommand(subcommand: string, cwd?: string): IssueTemplate | null;
/**
 * Cache parsed templates to .cleo/issue-templates.json.
 */
export declare function cacheTemplates(templates: IssueTemplate[], cwd?: string): void;
/**
 * Validate that labels referenced in issue templates are consistent.
 *
 * Collects all labels used across templates and checks that each label
 * appears in at least one template definition. Reports any labels that
 * are referenced by only one template but not defined as a known label
 * across the template set. This catches typos and orphaned labels
 * without requiring GitHub API access.
 */
export declare function validateLabelsExist(templates: IssueTemplate[]): {
    valid: boolean;
    missingLabels: string[];
};
//# sourceMappingURL=template-parser.d.ts.map