export interface RequestStyleCacheOptions {
/**
* Class name styles:
* - `"short"`: 3-4 characters, non-deterministic
* - `"deterministic"`: 7-10 characters
*/
classNameStyle?: 'short' | 'deterministic';
/** Prefix for generated `"short"` class names. Defaults to `_x`. */
classNamePrefix?: string;
}
/**
* A jsxstyle style cache designed to be used in a server environment,
* scoped to a single request.
*
* @example
* const cache = new RequestStyleCache();
* const html = renderToString(
*
*
*
* );
* const css = cache.flushStyles();
* res.send(`${html}`);
*/
export declare class RequestStyleCache {
#private;
constructor(options?: RequestStyleCacheOptions);
/**
* Given an object of component props, this function extracts style props into CSS rules.
* Non-style props are returned as-is. A `classNamePropKey` prop is added to the
* returned object if styles were extracted.
*/
getComponentProps(props: Record, classNamePropKey: string): Record | null;
/** Returns collected CSS since last flush and clears the buffer. */
flushStyles(): string;
/**
* Reset the inserted rule cache. This allows already-seen rules to be
* reinserted into the document.
*
* The class name cache will not be reset in order to keep class names deterministic.
*/
reset(): void;
}
/**
* Creates a style cache scoped to a single request.
*
* @deprecated Use `new RequestStyleCache()` instead.
*/
export declare function createRequestStyleCache(options?: RequestStyleCacheOptions): RequestStyleCache;
//# sourceMappingURL=createRequestStyleCache.d.ts.map