import type { BrandScale, FocusRingTokens } from "../tokens/types"; /** Inner band, in the surface tone: separates the ring from the control's own fill. */ export declare const FOCUS_HALO_WIDTH = 2; /** Outer edge of the brand band. The band itself is the 2px between halo and ring. */ export declare const FOCUS_RING_WIDTH = 4; type WithFocusRing = { focusRing: FocusRingTokens; }; type WithBrandGlow = { primary: BrandScale; }; export declare const focusRingShadow: (colors: WithFocusRing) => string; /** For controls whose shell clips overflow: ring on the edge, halo inside, so an opaque child leaves the ring. */ export declare const insetFocusRingShadow: (colors: WithFocusRing) => string; export declare const FOCUS_VISIBLE_OVER_STATE = "&:hover:focus-visible, &:active:focus-visible, &[data-active]:focus-visible"; export declare const focusVisibleRing: (colors: WithFocusRing) => { outline: string; outlineOffset: string; boxShadow: string; }; /** Blurred, never a flat band: a band has a hard outer edge at every opacity and reads as a second border. */ export declare const FOCUS_GLOW_BLUR = 6; /** Negative spread keeps the bloom tight to the border instead of haloing the whole control. */ export declare const FOCUS_GLOW_SPREAD = -1; /** Step on `primary.opacity`. Safe to raise because a blur has no edge to sharpen. */ export declare const FOCUS_GLOW_ALPHA = 32; export declare const focusGlowShadow: (colors: WithBrandGlow) => string; /** Field focus: the brand border is the indicator, this only makes it findable. */ export declare const fieldFocusVisible: (colors: WithBrandGlow) => { outline: string; outlineOffset: string; boxShadow: string; }; /** Both selectors a control needs to keep the ring on top of its own hover/active styling. */ export declare const focusVisibleStyles: (colors: WithFocusRing) => { _focusVisible: { outline: string; outlineOffset: string; boxShadow: string; }; "&:hover:focus-visible, &:active:focus-visible, &[data-active]:focus-visible": { outline: string; outlineOffset: string; boxShadow: string; }; }; export {};