import { ComponentConfig, HTMLAnyAttributes, Intersection, MediaQueryRule, PolymorphicClassName } from './types'; export declare const getStaticVariants: (config: ComponentConfig) => (string | readonly any[] | import("./types").SerializedStyles)[]; export declare const getDynamicVariants: (config: ComponentConfig) => (props: HTMLAnyAttributes) => any[]; /** * Собирает строку с @media-блоками для адаптивного режима. * Используется в исходнике конфига вертикали внутри css: * responsive: css`${getResponsiveCSS([ * { from: 0, to: 559, size: sizeL }, * { from: 560, to: 789, size: sizeM }, * { from: 1023, to: undefined, size: sizeXL }, * ])}` * * `size` в правиле — это сами декларации (строка с присвоениями токенов), * а не имя вариации; декларации обычно вынесены в общую const, чтобы * переиспользоваться и в `variations.size.*`, и здесь. * * Для css/linaria-сборки linaria статически выполняет вызов на этапе сборки * вертикали и инлайнит готовый @media-CSS в скомпилированный класс; SC/emotion * получают то же в рантайме при первом обращении к модулю. * * Селектор `&&` поднимает специфичность на ×2, чтобы media-правило перебивало * обычную size-вариацию независимо от порядка правил в stylesheet. * * Семантика границ — диапазон ширины viewport в пикселях: * from → min-width, to → max-width. * * Правила не пересекаются — массив просто конкатенируется. */ export declare const getResponsiveCSS: (media: MediaQueryRule[]) => string; export declare const getIntersectionStyles: (props: Record, intersections?: Intersection[]) => PolymorphicClassName[]; //# sourceMappingURL=utils.d.ts.map