import type { FunnelManifest } from './funnel.manifest.types.js'; export type FunnelThemeInterfaceColors = { background: string; primary: string; primaryText: string; secondary: string; secondaryText: string; text: string; }; export type FunnelThemeInterfaceOpacity = Record; export type FunnelThemeColors = { interface: FunnelThemeInterfaceColors; interfaceOpacity: FunnelThemeInterfaceOpacity; semantic: { accent: string; button: string; buttonText: string; surface: string; border: string; warning: string; danger: string; }; derived: { bgMuted: string; bgSuccess: string; bgWarning: string; bgDanger: string; bgNeutral: string; textMuted: string; accentSoft: string; accentMuted: string; }; }; export type FunnelThemeDarkOverrides = { interface?: Partial; interfaceOpacity?: Partial; semantic?: Partial; derived?: Partial; }; export type FunnelThemeDevicePreset = { name: string; shellWidth: number; maxWidth: number; }; export type FunnelThemeDeviceSize = { activePreset: string; presets: FunnelThemeDevicePreset[]; padding: number; cornerRadius: number; }; export type FunnelThemeFont = { family: string; style: 'Normal' | 'Italic'; fallbacks: string; }; export type FunnelThemeTypography = { font: FunnelThemeFont; fontSizes: { xs: string; sm: string; md: string; lg: string; xl: string; xxl: string; }; fontWeights: { regular: number; medium: number; semibold: number; bold: number; heavy: number; }; lineHeights: { tight: number; normal: number; relaxed: number; }; }; export type FunnelThemeLayout = { safeAreaOffsets: { top: number; right: number; bottom: number; left: number; }; }; export type FunnelTheme = { interfaceMode: 'light' | 'dark'; colors: FunnelThemeColors; darkOverrides: FunnelThemeDarkOverrides; typography: FunnelThemeTypography; deviceSize: FunnelThemeDeviceSize; layout: FunnelThemeLayout; }; export type FunnelRuntimeDefaults = { apiUrl: string; funnelId: string | null; sdkPublishableKey: string | null; }; export type PublishedFunnelSnapshot = { templateArchitectureVersion: number; runtime: FunnelRuntimeDefaults; manifest: FunnelManifest; theme: FunnelTheme; }; export declare const defaultFunnelTheme: FunnelTheme; export declare const defaultFunnelRuntimeDefaults: FunnelRuntimeDefaults; export declare const normalizeFunnelTheme: (theme: unknown) => FunnelTheme; export declare const resolveColors: (theme: FunnelTheme, mode: "light" | "dark") => FunnelThemeColors; export declare const createThemeCssVariables: (theme: FunnelTheme, mode?: "light" | "dark") => Record;