import { type HTMLAttributes, type ReactNode } from 'react'; import { type CssLength } from '../../../utils/css'; export type BreakGlassOklchColor = { l: number; c: number; h: number; a?: number; }; export type BreakGlassOklchAlphaRangeColor = { l: number; c: number; h: number; aMin: number; aMax: number; }; export type BreakGlassColorConfig = { crack: BreakGlassOklchColor; crackShadow: BreakGlassOklchColor; crackBranch: BreakGlassOklchColor; ring: BreakGlassOklchColor; dust: BreakGlassOklchColor; shardDark: BreakGlassOklchAlphaRangeColor; shardLight: BreakGlassOklchAlphaRangeColor; shardEdge: BreakGlassOklchAlphaRangeColor; pit: BreakGlassOklchColor; flash: BreakGlassOklchColor; particle: BreakGlassOklchAlphaRangeColor; particleShadow: string; }; export type BreakGlassCrackConfig = { rayCountMin: number; rayCountMax: number; maxRadiusMin: number; maxRadiusMax: number; rayLengthMin: number; segmentMin: number; segmentMax: number; driftBase: number; driftGrowth: number; strokeMin: number; strokeMax: number; shadowOffset: readonly [number, number]; shadowStroke: number; branchProbability: number; branchAngleMin: number; branchAngleMax: number; branchLenMin: number; branchLenMax: number; branchStroke: number; }; export type BreakGlassRingConfig = { countMin: number; countMax: number; radiusBase: number; radiusStepMin: number; radiusStepMax: number; wobbleRange: number; skipProbability: number; stroke: number; }; export type BreakGlassShardConfig = { midRadiusMin: number; midRadiusMax: number; midJitter: number; darkThreshold: number; stagger: number; }; export type BreakGlassDustConfig = { count: number; radius: number; lenMin: number; lenMax: number; strokeMin: number; strokeMax: number; }; export type BreakGlassParticleConfig = { countMin: number; countMax: number; widthMin: number; widthMax: number; heightMin: number; heightMax: number; forceMin: number; forceMax: number; liftOffset: number; gravityMin: number; gravityMax: number; rotateMax: number; durationMin: number; durationMax: number; }; export type BreakGlassImpactConfig = { pitRadius: number; flashRadius: number; flashDuration: number; }; export type BreakGlassShakeConfig = { intensity: number; duration: number; }; export type BreakGlassConfig = { color: BreakGlassColorConfig; crack: BreakGlassCrackConfig; ring: BreakGlassRingConfig; shard: BreakGlassShardConfig; dust: BreakGlassDustConfig; particle: BreakGlassParticleConfig; impact: BreakGlassImpactConfig; shake: BreakGlassShakeConfig; }; type BreakGlassColorConfigOverrides = { crack?: Partial; crackShadow?: Partial; crackBranch?: Partial; ring?: Partial; dust?: Partial; shardDark?: Partial; shardLight?: Partial; shardEdge?: Partial; pit?: Partial; flash?: Partial; particle?: Partial; particleShadow?: string; }; export type BreakGlassConfigProps = { color?: BreakGlassColorConfigOverrides; crack?: Partial; ring?: Partial; shard?: Partial; dust?: Partial; particle?: Partial; impact?: Partial; shake?: Partial; }; export type BreakGlassSmashPoint = { x: number; y: number; }; export type BreakGlassPageProps = Omit, 'color' | 'onReset'> & BreakGlassConfigProps & { minHeight?: CssLength; audioSrc?: string | null; audioType?: string; audioVolume?: number; audioMuted?: boolean; autoDemo?: boolean; demoDelayMs?: number; brandStart?: string; brandStop?: string; showClearButton?: boolean; clearLabel?: ReactNode; clearAriaLabel?: string; ariaLabel?: string; svgClassName?: string; controlsClassName?: string; onSmash?: (point: BreakGlassSmashPoint) => void; onReset?: () => void; }; export declare const BreakGlassPage: ({ className, style, minHeight, audioSrc, audioType, audioVolume, audioMuted, autoDemo, demoDelayMs, brandStart, brandStop, showClearButton, clearLabel, clearAriaLabel, ariaLabel, svgClassName, controlsClassName, color, crack, ring, shard, dust, particle, impact, shake, onSmash, onReset, onPointerDown, ...props }: BreakGlassPageProps) => import("react/jsx-runtime").JSX.Element; export {};