import * as React from 'react';
import * as styledComponents from 'styled-components';
import { ResolvedThemeInterface } from './theme';
export { ResolvedThemeInterface };
export declare type InterpolationFunction
= styledComponents.InterpolationFunction
;
export declare type StyledFunction = styledComponents.ThemedStyledFunction;
declare function withProps(styledFunction: StyledFunction>): StyledFunction>;
declare const styled: styledComponents.ThemedBaseStyledInterface, css: styledComponents.ThemedCssFunction, injectGlobal: {
(strings: TemplateStringsArray, ...interpolations: styledComponents.SimpleInterpolation[]): void;
(strings: TemplateStringsArray | string[], ...interpolations: styledComponents.SimpleInterpolation[]): void;
}, keyframes: {
(strings: TemplateStringsArray, ...interpolations: styledComponents.SimpleInterpolation[]): string;
(strings: TemplateStringsArray | string[], ...interpolations: styledComponents.SimpleInterpolation[]): string;
}, ThemeProvider: React.ComponentClass, any>;
export declare const media: {
lessThan(breakpoint: any): (...args: any[]) => styledComponents.FlattenInterpolation>[];
greaterThan(breakpoint: any): (...args: any[]) => styledComponents.FlattenInterpolation>[];
between(firstBreakpoint: any, secondBreakpoint: any): (...args: any[]) => styledComponents.FlattenInterpolation>[];
};
export { css, injectGlobal, keyframes, ThemeProvider, withProps };
export default styled;
export declare function extensionsHook(styledName: string): (props: any) => any;