import type { Radius, StyleVariant } from "../types"; import type { IconWeight } from "../components/ui/phosphor"; /** Props that every Saasflare component accepts for theme integration. */ export interface SaasflareComponentProps { /** Surface style override. Omit to inherit from provider. */ surface?: StyleVariant; /** Radius preset override. Omit to inherit from provider. */ radius?: Radius; /** Animation override. Omit to inherit from provider. */ animated?: boolean; /** * Icon weight override for any Phosphor icons rendered inside the component. * Omit to inherit from provider (which defaults to "regular"). * * Some components (e.g. Spinner) hardcode a weight that's part of their * visual identity and intentionally ignore this prop. */ iconWeight?: IconWeight; } /** Fully resolved theme values — no optionals, no undefined. */ export interface ResolvedSaasflareProps { /** Active surface style. */ surface: StyleVariant; /** Active radius preset. */ radius: Radius; /** Whether animations are enabled. */ animated: boolean; /** Active brand palette id (null = global.css baseline). */ palette: string | null; /** Active icon weight for component-rendered Phosphor icons. */ iconWeight: IconWeight; } /** * Resolves component-level overrides against the provider context. * * Precedence: component prop > provider context > hardcoded default * * Safe without a provider — returns sensible defaults. */ export declare function useSaasflareProps(props?: SaasflareComponentProps): ResolvedSaasflareProps;