import { StyleWithCustomProps } from './types'; import { TraitProps, SetPropValue, UtilPropValue } from './types/TraitProps'; import { PropValueTypes } from './types/PropValueTypes'; import { LayoutType, LayoutProps } from './types/LayoutProps'; import { AtomicType, AtomicProps } from './types/AtomicProps'; export { type LayoutType, type AtomicType }; interface PropConfig { prop?: string; token?: string | null | undefined | false; tokenClass?: 0 | 1 | 2; presets?: Set | string[] | readonly string[]; presetClass?: string; utils?: Record; shorthands?: Record; isVar?: number; bp?: 0 | 1; alwaysVar?: number; overwriteBaseVar?: number; important?: number; exUtility?: Record; customVar?: string; setStyles?: (val: unknown) => Record; className?: string; utilKey?: string; [key: string]: unknown; } interface TraitPropDataObject { className: string; preset?: string[] | readonly string[]; presetClass?: string; customVar?: string; tokenKey?: string; } export interface LismPropsBase extends TraitProps, PropValueTypes { forwardedRef?: React.Ref; class?: string | null; className?: string; /** * a--* / l--* / is--* クラスを集約する内部スロット。 * 通常は getLayoutProps / getAtomicProps 経由で push される。 */ primitiveClass?: string[]; style?: StyleWithCustomProps; _propConfig?: Record; set?: SetPropValue; util?: UtilPropValue; hov?: boolean | string | Record; css?: Record; [key: `aria-${string}`]: unknown; [key: `data-${string}`]: unknown; } export declare class LismPropsData { className: string; primitiveClass: string[]; uClasses: string[]; styles: StyleWithCustomProps; attrs: Record; _propConfig?: Record; constructor(allProps: LismPropsBase & Record); buildClassName(userClassName?: string, astroClassName?: string | null): string; analyzeTrait(traitPropData: TraitPropDataObject, propVal: unknown): void; analyzeProps(): void; analyzeLismProp(propName: string, propVal: unknown): void; addUtil(util: string): void; addUtils(utils: string[]): void; addStyle(name: string, val: string | number): void; addStyles(styles: Record): void; addAttrs(data: { styles?: Record; utils?: string[]; }): void; extractProp(propName: string): unknown; extractProps(propNames: string[]): Record; setAttrs(propKey: string, val: unknown, propConfig?: PropConfig, bpKey?: string): void; setHovProps(hoverData: boolean | string | Record | null): void; } export interface LismProps extends LismPropsBase, LayoutProps, AtomicProps { } export interface LismOutputProps { className?: string; style?: StyleWithCustomProps; ref?: React.Ref; [key: string]: unknown; } /** * props から styleに変換する要素 と その他 に分離する * * @param {Object} props */ export default function getLismProps(props: LismProps): LismOutputProps;