import type { Properties } from 'csstype';
import type { simplePseudos } from './simple-pseudos';
export declare type BasicCSSProperties = Properties<string | number>;
export declare type SimplePseudos = typeof simplePseudos;
export interface CSSKeyframes {
    [time: string]: BasicCSSProperties;
}
declare type CSSProperties = BasicCSSProperties & {
    '@keyframes'?: CSSKeyframes | string;
};
declare type PseudoProperties = {
    [key in SimplePseudos[number]]?: CSSProperties;
};
declare type CSSPropertiesAndPseudos = CSSProperties & PseudoProperties;
interface SelectorMap {
    [selector: string]: CSSProperties;
}
export interface StyleWithSelectors extends CSSPropertiesAndPseudos {
    selectors?: SelectorMap;
}
export interface MediaQueries<StyleType> {
    '@media'?: {
        [query: string]: StyleType;
    };
}
export interface FeatureQueries<StyleType> {
    '@supports'?: {
        [query: string]: StyleType;
    };
}
export declare type Style = StyleWithSelectors & MediaQueries<StyleWithSelectors> & FeatureQueries<StyleWithSelectors>;
export declare type FontWeight = 'regular' | 'medium' | 'strong';
export {};
//# sourceMappingURL=types.d.ts.map