export declare const NAV_LABEL_MAX_WORDS = 3;
export declare const NAV_LABEL_MAX_CHARS = 24;
/**
 * Validate a nav label: non-empty after trim AND ≤3 words AND ≤24 chars.
 * Returns an actionable error string, or null when valid. An empty or
 * whitespace-only label is invalid so callers that validate-then-fallback
 * derive a compact label from the title instead of rendering a blank rail entry.
 */
export declare function navLabelError(value: string): string | null;
/**
 * Derive a compact rail label from a full title:
 *   - take the text before the first ':' / '—' / ' - ' when that prefix is non-empty,
 *     otherwise use the whole title;
 *   - keep the first ≤3 words;
 *   - if the result is still >24 chars, hard-truncate to 23 chars + '…'.
 */
export declare function deriveNavLabel(title: string): string;
//# sourceMappingURL=nav-label.d.ts.map