/// import * as React from 'react'; import { ThemedOuterStyledProps } from 'styled-components'; import { AbstractButtonProps } from './components/AbstractButton/AbstractButton'; import { AbstractFormGroupProps } from './components/AbstractFormGroup/AbstractFormGroup'; import { AbstractInputBoxProps } from './components/AbstractInputBox/AbstractInputBox'; import { AbstractLabelTextProps } from './components/AbstractLabelText/AbstractLabelText'; import { AbstractValidationMessageProps } from './components/AbstractValidationMessage/AbstractValidationMessage'; import { ButtonProps } from './components/Button/Button'; export declare enum ThemableComponents { Button = 0, FormGroup = 1, InputBox = 2, LabelText = 3, ValidationMessage = 4, PrimaryButton = 5, SecondaryButton = 6, SuccessButton = 7, InfoButton = 8, WarningButton = 9, DangerButton = 10, LinkButton = 11, InlineLinkButton = 12, } export declare type ComponentClass = React.ComponentClass>; export declare type StatelessComponent = React.StatelessComponent>; export declare type Component = ComponentClass | StatelessComponent; export interface BaseThemeRegister { register(component: ThemableComponents.Button, theme: ((abstractValidationmessage: ComponentClass) => Component)): this; register(component: ThemableComponents.FormGroup, theme: ((abstractValidationmessage: ComponentClass) => Component)): this; register(component: ThemableComponents.InputBox, theme: ((abstractValidationmessage: ComponentClass) => Component)): this; register(component: ThemableComponents.LabelText, theme: ((abstractValidationmessage: ComponentClass) => Component)): this; register(component: ThemableComponents.ValidationMessage, theme: ((abstractValidationmessage: ComponentClass) => Component)): this; register(component: ThemableComponents.PrimaryButton, theme: ((abstractValidationmessage: ComponentClass) => Component)): this; register(component: ThemableComponents.SecondaryButton, theme: ((abstractValidationmessage: ComponentClass) => Component)): this; register(component: ThemableComponents.SuccessButton, theme: ((abstractValidationmessage: ComponentClass) => Component)): this; register(component: ThemableComponents.InfoButton, theme: ((abstractValidationmessage: ComponentClass) => Component)): this; register(component: ThemableComponents.WarningButton, theme: ((abstractValidationmessage: ComponentClass) => Component)): this; register(component: ThemableComponents.DangerButton, theme: ((abstractValidationmessage: ComponentClass) => Component)): this; register(component: ThemableComponents.LinkButton, theme: ((abstractValidationmessage: ComponentClass) => Component)): this; register(component: ThemableComponents.InlineLinkButton, theme: ((abstractValidationmessage: ComponentClass) => Component)): this; } export interface AbstractComponentRegister { registerAbstractComponent(component: ThemableComponents.Button, implementation: Component): StatelessComponent; registerAbstractComponent(component: ThemableComponents.FormGroup, implementation: Component): StatelessComponent; registerAbstractComponent(component: ThemableComponents.InputBox, implementation: Component): StatelessComponent; registerAbstractComponent(component: ThemableComponents.LabelText, implementation: Component): StatelessComponent; registerAbstractComponent(component: ThemableComponents.ValidationMessage, implementation: Component): StatelessComponent; registerAbstractComponent(component: ThemableComponents.PrimaryButton, implementation: Component): StatelessComponent; registerAbstractComponent(component: ThemableComponents.SecondaryButton, implementation: Component): StatelessComponent; registerAbstractComponent(component: ThemableComponents.SuccessButton, implementation: Component): StatelessComponent; registerAbstractComponent(component: ThemableComponents.InfoButton, implementation: Component): StatelessComponent; registerAbstractComponent(component: ThemableComponents.WarningButton, implementation: Component): StatelessComponent; registerAbstractComponent(component: ThemableComponents.DangerButton, implementation: Component): StatelessComponent; registerAbstractComponent(component: ThemableComponents.LinkButton, implementation: Component): StatelessComponent; registerAbstractComponent(component: ThemableComponents.InlineLinkButton, implementation: Component): StatelessComponent; }