import type { Gradient, PPTElementOutline, PPTElementShadow, Slide, SlideBackground, SlideType } from '../types/slides'; /** Default accent swatches: 8 hues so Color + None + neutrals + custom fill a 7×2 grid. */ export declare const DEFAULT_THEME_COLORS: string[]; export interface PresetTheme { id?: string; name?: string; background: string; fontColor: string; featureFontColor?: string; /** Retain pale panels and accent roles when restyling host-authored decks. */ preserveColorRoles?: boolean; fontname: string; colors: string[]; /** Series palette when `colors` includes near-background swatches (Ink #171717). */ chartColors?: string[]; borderColor?: string; outline?: PPTElementOutline; shadow?: PPTElementShadow; contentBackground?: SlideBackground; featureBackground?: SlideBackground; altBackground?: SlideBackground; /** Matching vibe gradients. Layouts cycle these instead of light variants. */ backgrounds?: SlideBackground[]; } /** Unstyled deck: white slide, default accents. Not in the Themes grid. */ export declare const DEFAULT_PRESET_THEME: PresetTheme; export declare const gradientToCss: (gradient: Gradient) => string; export declare const slideBackgroundToStyle: (background?: SlideBackground, fallback?: string) => Record; export declare const FEATURE_SLIDE_TYPES: SlideType[]; export declare const isFeatureSlide: (type?: SlideType) => boolean; /** * Duplicating the title slide copies `type: 'cover'` onto every copy, so theme * apply cannot trust cover/end after the first. Re-infer from position + layout. * Keep explicit `contents` / `transition` types. */ export declare const inferThemeSlideType: (slide: Slide, index: number, count: number) => SlideType; export declare const themeBackgroundCycle: (theme: PresetTheme) => SlideBackground[]; export declare const resolvePresetBackground: (theme: PresetTheme, slideType?: SlideType, index?: number) => SlideBackground; export declare const resolvePresetFontColor: (theme: PresetTheme, _slideType?: SlideType) => string; export declare const themeChartColors: (theme: Pick) => string[]; export declare const matchPresetTheme: (themeColors: string[], presets?: readonly PresetTheme[]) => PresetTheme | undefined; /** Paint a layout preview/insert with the active preset's type-specific background and type. */ export declare const applyPresetToLayoutSlide: (slide: Slide, theme: PresetTheme, index?: number) => void; export declare const sameSlideBackground: (a?: SlideBackground, b?: SlideBackground) => boolean; export declare const matchThemeBackgroundIndex: (theme: PresetTheme, background?: SlideBackground) => number; export declare const PRESET_THEMES: PresetTheme[];