import { Attrs, Interpolation, IStyledComponent, IStyledComponentFactory, IStyledNativeComponent, IStyledNativeComponentFactory, NativeTarget, StyledNativeOptions, StyledOptions, StyledTarget, Styles, WebTarget } from '../types'; export interface NativeStyled { (initialStyles: Styles, ...interpolations: Exclude, IStyledComponent>[]): IStyledNativeComponent & OuterStatics & Statics; attrs(attrs: Attrs): NativeStyled; withConfig(config: StyledNativeOptions): NativeStyled; } export interface WebStyled { (initialStyles: Styles, ...interpolations: Interpolation[]): IStyledComponent & OuterStatics & Statics; attrs(attrs: Attrs): WebStyled; withConfig(config: StyledOptions): WebStyled; } export default function constructWithOptions().attrs() so attrs() gets the generic prop context OuterStatics = unknown>(componentConstructor: Environment extends 'web' ? IStyledComponentFactory : IStyledNativeComponentFactory, tag: Target, options?: Environment extends 'web' ? StyledOptions : StyledNativeOptions): { (initialStyles: Styles, ...interpolations: Interpolation[]): ReturnType : IStyledNativeComponentFactory>; attrs(attrs: Attrs): any; /** * If config methods are called, wrap up a new template function and merge options */ withConfig(config: Environment extends 'web' ? StyledOptions : StyledNativeOptions): any; }; //# sourceMappingURL=constructWithOptions.d.ts.map