import type { DesignToken } from "../engine/registry.js"; type TokenType = DesignToken["type"]; export interface TokenExtractionSource { id: string; content: string; kind?: "css" | "html" | "tsx" | "jsx" | "js" | "ts" | "vue" | "svelte" | "unknown"; } export interface TokenAlias { token: string; cssVariable: string; mode: string; references: string[]; rawValue: string; } export interface LiteralTokenCandidate { type: TokenType; value: string; occurrences: number; properties: string[]; promoted: boolean; } export interface UtilityTokenCandidate { type: TokenType; utility: string; occurrences: number; } export interface TokenFamilySummary { count: number; tokenNames: string[]; cssVariables: string[]; modes: string[]; } export interface TokenSemanticCoverage { score: number; required: string[]; present: string[]; missing: string[]; } export interface TokenScaleHealth { overallScore: number; colorScaleScore: number; spacingScaleScore: number; typographyScaleScore: number; radiusScaleScore: number; notes: string[]; } export interface TokenModeCoverage { score: number; modes: string[]; completeTokenCount: number; partialTokenCount: number; missingByMode: Record; } export interface TokenDuplicateGroup { type: TokenType; value: string; tokens: string[]; } export interface TokenAliasGraph { edgeCount: number; resolvedReferenceCount: number; unresolvedReferences: Array<{ token: string; reference: string; }>; circularReferences: string[][]; maxDepth: number; } export interface TokenRecommendation { priority: "high" | "medium" | "low"; action: string; rationale: string; } export interface TokenExtractionSummary { tokenCount: number; variableTokenCount: number; inferredTokenCount: number; aliasCount: number; modeCount: number; modeCoverageScore: number; literalCandidateCount: number; utilityCandidateCount: number; duplicateGroupCount: number; unresolvedAliasCount: number; confidenceScore: number; notes: string[]; } export interface TokenExtractionReport { tokens: DesignToken[]; aliases: TokenAlias[]; modes: string[]; sourceCount: number; families: Record; semanticCoverage: TokenSemanticCoverage; scaleHealth: TokenScaleHealth; modeCoverage: TokenModeCoverage; duplicates: TokenDuplicateGroup[]; aliasGraph: TokenAliasGraph; recommendations: TokenRecommendation[]; literalCandidates: LiteralTokenCandidate[]; utilityCandidates: UtilityTokenCandidate[]; summary: TokenExtractionSummary; } export declare function extractDesignTokensFromCss(cssBlocks: string[], options?: { sourceName?: string; includeInferredLiterals?: boolean; }): TokenExtractionReport; export declare function extractDesignTokensFromSources(sources: TokenExtractionSource[], options?: { sourceName?: string; includeInferredLiterals?: boolean; }): TokenExtractionReport; export declare function renderTokenExtractionSummary(report: TokenExtractionReport): string[]; export declare function renderTokenExtractionMarkdown(report: TokenExtractionReport, sourceLabel?: string): string; export {};