import type { SiteConfig, ThemeTokens } from './types.ts'; export declare const TYPE_ROLES: readonly ["display", "section", "subheading", "card-title", "body", "ui", "caption", "label"]; export type TypeRole = typeof TYPE_ROLES[number]; export type TypeStyle = { size: string; weight: number; lineHeight: string; tracking: string; font: 'body' | 'display'; }; export type TypographySystem = { roles: Partial>>; variants?: Record & { role: TypeRole; reason: string; }>; }; export declare const MINIMUM_TYPE_PX = 12; export declare const DEFAULT_TYPE_ROLES: Record; export declare const TYPE_SELECTORS: Record; export declare function typographyEnabled(site?: Pick): boolean; export declare function resolvedTypography(theme?: Pick): Record; /** Reject malformed values early; actual CSS lengths are resolved and checked in Chromium. */ export declare function validateTypography(value: unknown, requireRoles?: boolean): string[]; export declare function typographyVariables(theme: ThemeTokens): string; export declare function typographyCss(): string; export declare function typographyVariantCss(theme: ThemeTokens): string;