/**
 * Label utilities for the unified labels system
 *
 * Labels use a generic prefix:value format (e.g., "category:RCA", "priority:High")
 * Any prefix can be used - the system is completely freeform.
 * Special colors are only applied to difficulty:Easy/Medium/Hard labels.
 */
export declare const DIFFICULTY_VALUES: readonly ["Easy", "Medium", "Hard"];
export type DifficultyValue = typeof DIFFICULTY_VALUES[number];
/**
 * Extract prefix from a label (e.g., "difficulty:Easy" -> "difficulty")
 * Returns null for labels without a colon
 */
export declare function extractPrefix(label: string): string | null;
/**
 * Extract value from a label (e.g., "difficulty:Easy" -> "Easy")
 * Returns the full label if no prefix
 */
export declare function extractValue(label: string): string;
/**
 * Create a prefixed label
 */
export declare function createLabel(prefix: string, value: string): string;
/**
 * Get the display name for a label (strips prefix if present)
 */
export declare function getLabelDisplayName(label: string): string;
/**
 * Check if a label has a specific prefix
 */
export declare function hasPrefix(label: string, prefix: string): boolean;
/**
 * Get all unique prefixes from a set of labels
 */
export declare function getUniquePrefixes(labels: string[]): string[];
/**
 * Filter labels by prefix
 */
export declare function filterByPrefix(labels: string[], prefix: string): string[];
/**
 * Group labels by their prefix
 * Labels without a prefix are grouped under ''
 */
export declare function groupByPrefix(labels: string[]): Record<string, string[]>;
/**
 * Check if a label is a difficulty label
 */
export declare function isDifficultyLabel(label: string): boolean;
/**
 * Parsed labels structure for backward compatibility with legacy category/difficulty fields
 */
export interface ParsedLabels {
    difficulty?: DifficultyValue;
    category?: string;
    subcategory?: string;
    generic: string[];
}
/**
 * Parse a labels array into structured format for backward compatibility
 * Extracts difficulty, category, subcategory from prefixed labels
 */
export declare function parseLabels(labels: string[]): ParsedLabels;
/**
 * Build a labels array from individual fields
 * Used for migration and backward compatibility
 */
export declare function buildLabels(fields: {
    category?: string;
    subcategory?: string;
    difficulty?: string;
    generic?: string[];
}): string[];
//# sourceMappingURL=labels.d.ts.map