import { ComponentType, RefAttributes, ClassAttributes, ForwardRefExoticComponent, PropsWithoutRef } from "react"; import { Style } from "../types/common"; export interface StyledOptions { props?: Partial>; classProps?: C[]; baseClassName?: string; } export declare type StyledProps

= P & { className?: string; tw?: string; baseClassName?: string; baseTw?: string; }; declare type ForwardRef = ForwardRefExoticComponent & RefAttributes>; declare type InferRef = T extends RefAttributes | ClassAttributes ? R : unknown; /** * Default */ export declare function styled(Component: ComponentType): ForwardRef, StyledProps>; /** * Base className */ export declare function styled(Component: ComponentType, baseClassName: string): ForwardRef, StyledProps>; /** * Only options */ export declare function styled(Component: ComponentType, options: StyledOptions): ForwardRef, StyledProps<{ [key in keyof T]: key extends P ? T[key] | string : T[key]; }>>; /** * Base className w/ options */ export declare function styled(Component: ComponentType, baseClassName: string, options: StyledOptions): ForwardRef, StyledProps<{ [key in keyof T]: key extends P ? T[key] | string : T[key]; }>>; export {};