import React from 'react';
import { Hypostyle, HypostyleObject, HypostyleObjectOrFunction } from 'hypostyle';
import { Properties as CSSProperties } from 'csstype';
declare type CSSPropertyNames = keyof CSSProperties;
export declare type As = keyof JSX.IntrinsicElements;
export declare type HypoProps = {
    hypostyle: Hypostyle;
};
export declare type BoxProps = {
    as?: As;
    cx?: HypostyleObjectOrFunction;
    style?: {
        [property in CSSPropertyNames]: string | number;
    };
} & HypostyleObject;
export declare function useHypostyle(): Hypostyle;
export declare function useTheme(): import("hypostyle").Theme;
export declare function Hypo(props: React.PropsWithChildren<HypoProps>): React.FunctionComponentElement<React.ProviderProps<Hypostyle>>;
export declare var Box: React.ForwardRefExoticComponent<Pick<BoxProps, string | number> & React.RefAttributes<HTMLElement>>;
export declare function compose(Element: As | React.ComponentType<BoxProps>, styles: HypostyleObjectOrFunction): (props: BoxProps) => JSX.Element;
export {};
