import * as React from 'react'; import type { AnyObject, EmptyObject, ValidChar } from '../type'; export type SemanticSchema = { _default?: string; } & { [key: `${ValidChar}${string}`]: SemanticSchema; }; export type Resolvable = T | ((info: { props: P; }) => T); export type SemanticClassNamesType, NestedStructure extends EmptyObject = EmptyObject> = Resolvable, Props> & NestedStructure; export type SemanticStylesType, NestedStructure extends EmptyObject = EmptyObject> = Resolvable, Props> & NestedStructure; export type SemanticType

= T | ((info: { props: P; }) => T); export declare const mergeClassNames: >>(schema?: SemanticSchema, ...classNames: (SemanticClassNames | undefined)[]) => SemanticClassNames; export declare const mergeStyles: (...styles: (Partial | undefined)[]) => Record; export declare const resolveStyleOrClass: (value: T | ((config: any) => T), info: { props: AnyObject; }) => T; type MaybeFn = T | ((info: { props: P; }) => T) | undefined; type ObjectOnly = T extends (...args: any) => any ? never : T; /** * @desc Merge classNames and styles from multiple sources. When `schema` is provided, it **must** provide the nest object structure. * @descZH 合并来自多个来源的 classNames 和 styles,当提供了 `schema` 时,必须提供嵌套的对象结构。 */ export declare const useMergeSemantic: (classNamesList: MaybeFn[], stylesList: MaybeFn[], info: { props: Props; }, schema?: SemanticSchema) => readonly [ObjectOnly, ObjectOnly]; export {};