import type { IncrementLoggerFn } from '~/components/IncrementLogger'; import type { Breakpoint, OpaqueResponsive } from '~/utilities/opaque-responsive'; type LookupFunction = (responsiveValue: T, breakpoint: Breakpoint) => string; /** * Helper function to generate a responsive class name lookup function * that takes a responsive value and returns a class name for the * responsive value. * * @warning This should be used outside of the React render function * to validate failures before they occur in the render lifecycle. */ export declare function createResponsiveClassNameLookup( /** CSS modules styles object */ styles: Record, /** Object describing the class names for each option value */ options: Record): LookupFunction; /** * Generates a CSS class name for a responsive value using a lookup function * that takes a responsive value and breakpoint then returns a class name * for the responsive value. */ export declare function classNameForResponsiveValue( /** responsive value to generate the class name */ responsiveValue: OpaqueResponsive, /** lookup function to use to generate the class name per breakpoint */ lookupFunction: LookupFunction): string; /** * Wraps a classNameForResponsiveValue function in a try/catch block that * catches errors and logs them to the incrementLogger. If an error is caught, * it returns an empty string. * * @warning this is not general purpose and should only be used to track down * deprecated properties that are no longer supported. */ export declare function safeResponsiveClassNameFor({ classNameFn, props, incrementLogger, incrementName, }: { classNameFn: (config: T) => string; props: T; incrementLogger: IncrementLoggerFn; incrementName: string; }): string; export {};