import { ComponentType, PropsWithChildren, RefAttributes, PropsWithoutRef, NamedExoticComponent } from 'react'; import { StyledElementLike } from './apply-class-name'; import { SECRET_GLITZ_PROPERTY } from './constants'; import { StyledElement, StyledElementProps } from './predefined'; import { DirtyStyle } from './use-glitz'; import { StyledForwardStyle } from './forward-style'; export interface StyledComponent extends NamedExoticComponent> { [SECRET_GLITZ_PROPERTY](style?: DirtyStyle): StyledComponent; } export interface StyledComponentWithRef extends NamedExoticComponent, TInstance>> { [SECRET_GLITZ_PROPERTY](style?: DirtyStyle): StyledComponentWithRef; } export declare type WithRefProp = PropsWithoutRef & RefAttributes; export declare type ExternalProps = PropsWithChildren; export default function createComponent(type: StyledElement | StyledElementLike> | StyledForwardStyle> | StyledComponent | ComponentType, statics: DirtyStyle): StyledComponent; export declare function factory(type: StyledElement | StyledElementLike> | StyledForwardStyle> | ComponentType, statics: DirtyStyle): StyledComponent; export declare function isStyledComponent(type: any): type is StyledComponent;