/** * Based on: * * - https://github.com/threepointone/glamor/blob/78ffd84bfba187f4037a29b389e5a349dbb6e9a8/packages/glamor/src/StyleSheet.ts * - https://github.com/styled-components/styled-components/blob/94df8bb57c8ba01cd33268b65df93499a7961cb2/packages/styled-components/src/sheet/Tag.js */ /// import { RuleManager } from './RuleManager'; export interface StyleInjector { ruleManager: RuleManager; addRule(cssText: string): number; nullifyRule(index: number): void; } export declare class NullStyleInjector implements StyleInjector { ruleManager: RuleManager; addRule(): number; nullifyRule(): void; } export declare class VirtualStyleInjector implements StyleInjector { ruleManager: RuleManager; private cssTexts; getStyleElement(): JSX.Element; addRule(cssText: string): number; nullifyRule(): void; } export declare class OptimizedStyleInjector implements StyleInjector { private sheet; private ruleCount; private freeIndexes; ruleManager: RuleManager; addRule(cssText: string): number; nullifyRule(index: number): void; replaceRule(index: number, cssText: string): number; } export declare class DebuggableStyleInjector implements StyleInjector { ruleManager: RuleManager; private styleEl; private nodes; private freeIndexes; constructor(); addRule(cssText: string): number; nullifyRule(index: number): void; replaceRule(index: number, cssText: string): number; } //# sourceMappingURL=StyleInjector.d.ts.map