/// import { Attrs, ExecutionContext, ExtensibleObject, Interpolation, IStyledComponent, IStyledComponentFactory, KnownTarget, Runtime, StyledOptions, StyledTarget, Styles } from '../types'; export interface Styled, DerivedProps = Target extends KnownTarget ? React.ComponentProps : unknown, OuterProps extends {} = {}, OuterStatics = unknown> { (initialStyles: Styles, ...interpolations: Interpolation[]): IStyledComponent & OuterStatics & Statics; attrs(attrs: Attrs): Styled; withConfig(config: StyledOptions): Styled; } export default function constructWithOptions, DerivedProps = Target extends KnownTarget ? React.ComponentProps : unknown, OuterProps = unknown, // used for styled<{}>().attrs() so attrs() gets the generic prop context OuterStatics = unknown>(componentConstructor: IStyledComponentFactory, tag: Target, options?: StyledOptions): { (initialStyles: Styles, ...interpolations: Interpolation[]): IStyledComponent & OuterStatics & Statics; attrs(attrs: Attrs): any; /** * If config methods are called, wrap up a new template function and merge options */ withConfig(config: StyledOptions): any; };