import * as React from 'react'; import type { CSSProperties, StyledMeta } from '@linaria/core'; export declare type NoInfer = [A][A extends any ? 0 : never]; declare function styled>(tag: TConstructor extends React.FunctionComponent ? [T] extends [{ className?: string; }] ? TConstructor : never : never): ComponentStyledTag; declare function styled(tag: [T] extends [{ className?: string; }] ? React.ComponentType : never): ComponentStyledTag; declare function styled(tag: TName): HtmlStyledTag; declare type StyledComponent = StyledMeta & ([T] extends [React.FunctionComponent] ? T : React.FunctionComponent); declare type StaticPlaceholder = string | number | CSSProperties | StyledMeta; declare type HtmlStyledTag = (strings: TemplateStringsArray, ...exprs: Array) => string | number)>) => StyledComponent; declare type ComponentStyledTag = ] ? TProps : T>(strings: TemplateStringsArray, ...exprs: TrgProps extends { style?: React.CSSProperties; } ? Array) => string | number)> : StaticPlaceholder[]) => keyof OwnProps extends never ? [T] extends [React.FunctionComponent] ? StyledMeta & T : StyledComponent : StyledComponent; declare type StyledJSXIntrinsics = { readonly [P in keyof JSX.IntrinsicElements]: HtmlStyledTag

; }; export declare type Styled = typeof styled & StyledJSXIntrinsics; declare const _default: Styled; export default _default;