import * as React from 'react'; import * as CoreGrid from './grid/grid'; export interface Alignment { isAlign?: string; } export declare type Sizes = 'large' | 'medium' | 'small'; export interface Size { isSize?: Sizes; } export interface Tag { tag?: keyof React.ReactHTML; } export interface FullWidth { isFullWidth?: boolean; } export interface Active { isActive?: boolean; } export interface Hovered { isHovered?: boolean; } export interface Focused { isFocused?: boolean; } export interface State extends Active, Hovered, Focused { } export interface Loading { isLoading?: boolean; } export interface Color { isColor?: string; } export declare type HeadingSizes = 1 | 2 | 3 | 4 | 5 | 6; export interface Heading { isSize?: HeadingSizes; isSpaced?: boolean; } export interface Grid extends CoreGrid.HorizontalSize, CoreGrid.Offset { } export declare type Platform = 'mobile' | 'tablet' | 'touch' | 'desktop' | 'widescreen'; export declare type PlatformOnly = 'tablet-only' | 'desktop-only'; export declare type AllPlatforms = Platform | PlatformOnly; export declare type AllPlatformsWithDefault = AllPlatforms | 'default'; export declare type FlexDisplay = 'flex' | 'flex-mobile' | 'flex-tablet' | 'flex-touch' | 'flex-desktop' | 'flex-widescreen' | 'flex-tablet-only' | 'flex-desktop-only'; export declare type BlockDisplay = 'block' | 'block-mobile' | 'block-tablet' | 'block-touch' | 'block-desktop' | 'block-widescreen' | 'block-tablet-only' | 'block-desktop-only'; export declare type InlineDisplay = 'inline' | 'inline-mobile' | 'inline-tablet' | 'inline-touch' | 'inline-desktop' | 'inline-widescreen' | 'inline-tablet-only' | 'inline-desktop-only'; export declare type InlineBlockDisplay = 'inline-block' | 'inline-block-mobile' | 'inline-block-tablet' | 'inline-block-touch' | 'inline-block-desktop' | 'inline-block-widescreen' | 'inline-block-tablet-only' | 'inline-block-desktop-only'; export declare type InlineFlexDisplay = 'inline-flex' | 'inline-flex-mobile' | 'inline-flex-tablet' | 'inline-flex-touch' | 'inline-flex-desktop' | 'inline-flex-widescreen' | 'inline-flex-tablet-only' | 'inline-flex-desktop-only'; export declare type Displays = FlexDisplay | BlockDisplay | InlineDisplay | InlineBlockDisplay | InlineFlexDisplay; export interface DisplayObject { flex?: AllPlatformsWithDefault | AllPlatformsWithDefault[]; block?: AllPlatformsWithDefault | AllPlatformsWithDefault[]; inline?: AllPlatformsWithDefault | AllPlatformsWithDefault[]; 'inline-block'?: AllPlatformsWithDefault | AllPlatformsWithDefault[]; 'inline-flex'?: AllPlatformsWithDefault | AllPlatformsWithDefault[]; } export interface Show { isDisplay?: Displays | Displays[] | DisplayObject; } export interface Hide { isHidden?: boolean | AllPlatforms | AllPlatforms[]; } export interface Responsive extends Show, Hide { } export declare type Alignments = 'left' | 'right'; export interface Helpers extends FullWidth, Responsive { isClearfix?: boolean; isPulled?: Alignments; isOverlay?: boolean; isMarginless?: boolean; isPaddingless?: boolean; isUnselectable?: boolean; hasTextAlign?: Alignments | 'centered'; hasTextColor?: string; } export interface Modifiers extends Alignment, Size, FullWidth, State, Color, Helpers { } export interface Render { render?: Function; } export interface NonHTMLProps extends Modifiers, Render { } export declare type Component = React.ComponentClass> | React.SFC>; export declare const isMobile: (str: string) => boolean; export declare const isTablet: (str: string) => boolean; export declare const isTouch: (str: string) => boolean; export declare const isDesktop: (str: string) => boolean; export declare const isWidescreen: (str: string) => boolean; export declare const isFullHD: (str: string) => boolean; export declare const isLeft: (str: string) => boolean; export declare const isRight: (str: string) => boolean; export declare const isCentered: (str: string) => boolean; export declare const isCenter: (str: string) => boolean; export declare const isFullWidth: (str: string) => boolean; export declare function getAlignmentModifiers({ isAlign: align }: Alignment): { [x: string]: boolean; }; export declare function removeAlignmentProps(props: Alignment): {}; export declare function getSizeModifiers({ isSize: size }: Size): { [x: string]: boolean; }; export declare function removeSizeProps(props: Size): {}; export declare function getActiveModifiers(props: Active): { 'is-active': boolean; }; export declare function removeActiveModifiers(props: Active): {}; export declare function getFocusedModifiers(props: Focused): { 'is-focused': boolean; }; export declare function removeFocusedModifiers(props: Focused): {}; export declare function getHoveredModifiers(props: Hovered): { 'is-hovered': boolean; }; export declare function removeHoveredModifiers(props: Hovered): {}; export declare function getStateModifiers(props: State): { 'is-hovered': boolean; 'is-focused': boolean; 'is-active': boolean; }; export declare function removeStateProps(props: State): {}; export declare function getLoadingModifiers(props: Loading): { 'is-loading': boolean; }; export declare function removeLoadingProps(props: Loading): {}; export declare function getColorModifiers({ isColor: color }: Color): { [x: string]: boolean; }; export declare function removeColorProps(props: Color): {}; export declare function getHeadingModifiers({ isSpaced, isSize: size }: Heading): { 'is-spaced': boolean; }; export declare function removeHeadingProps(props: Heading): {}; export declare function withHelpersModifiers(Component: Component): React.StatelessComponent & Helpers>;