export type StyleObject = {
    id: string;
    name: string;
    className: string;
    rules: string;
};
export declare class StyleCache {
    ids: Map<string, number>;
    rules: Map<string, StyleObject>;
    propertyNames: Map<string, string>;
    create(name: string, rules: string, componentId: string): StyleObject;
    save(style: StyleObject, rules: string): void;
    delete(style: StyleObject): void;
}
export type StyleProps = Record<string, any> | string | (Record<string, any> | string)[] | (() => Record<string, any> | string | (Record<string, any> | string)[]);
export type StyleObjectOptions = {
    name: string;
    props: StyleProps;
    extraProperties?: Record<string, (value: any) => any>;
    componentId: string;
    cache?: StyleCache;
};
declare function createStyleObject(options: StyleObjectOptions): StyleObject;
export default createStyleObject;
//# sourceMappingURL=createStyleObject.d.ts.map