import { ClassAttributes, Component, DetailedHTMLProps, FunctionComponent, HTMLAttributes, ReactNode } from 'react'; import { FlattenInterpolation, InterpolationFunction, ThemedBaseStyledInterface, ThemedCssFunction, ThemedStyledFunction as _ThemedStyledFunction, ThemedStyledProps } from 'styled-components'; import { ThemeSchemaStatic } from './schema'; export declare type SchemaDict = { [TName in TSchemaName | 'default']: ThemeSchemaStatic; }; export declare type SchemaMapping = { [TName in TSchemaName]: TSchemaName; }; export declare type SchemaMappingDict = { [TName in TSchemaName]?: SchemaMapping; }; export interface ThemeConfig { schemas: SchemaDict; mapping?: SchemaMappingDict; } export declare type SchemaNameType = TThemeConfig extends ThemeConfig ? TSchemaName : never; export declare function theme(config: TThemeConfig): FunctionComponent; export interface SchemaProviderProps { schema: UI.IThemeSchema; } export declare const SchemaProvider: FunctionComponent; export interface SwitchSchemaProps { name: TSchemaName; } export declare class SwitchSchema extends Component> { render(): ReactNode; } export interface SchemaConsumerProps { children(schema: UI.IThemeSchema): ReactNode; } export declare const SchemaConsumer: FunctionComponent; export declare type StyledWrapperProps = DetailedHTMLProps, T>; export declare type ThemedStyledFunction = _ThemedStyledFunction & HTMLAttributes & P, UI.IThemeSchema, ClassAttributes & HTMLAttributes & P>; export declare type ThemedInterpolationFunction

= InterpolationFunction>; export declare const styled: ThemedBaseStyledInterface; export declare const css: ThemedCssFunction; export declare type StyledComponentCSS = FlattenInterpolation>[];