// Definitions by: Junyoung Clare Jang // TypeScript Version: 2.2 export interface RegisteredCache { [key: string]: string; } export interface StyleSheet { container: HTMLElement; nonce?: string; key: string; insert(rule: string): void; flush(): void; tags: Array; } export interface EmotionCache { inserted: { [key: string]: string | true; }; registered: RegisteredCache; sheet: StyleSheet; key: string; compat?: true; nonce?: string; insert(selector: string, serialized: SerializedStyles, sheet: StyleSheet, shouldCache: boolean): string | void; } export interface SerializedStyles { name: string; styles: string; map?: string; next?: SerializedStyles; } export const isBrowser: boolean; export function getRegisteredStyles(registered: RegisteredCache, registeredStyles: Array, classNames: string): string; export function registerStyles(cache: EmotionCache, serialized: SerializedStyles, isStringTag: boolean): void; export function insertStyles(cache: EmotionCache, serialized: SerializedStyles, isStringTag: boolean): string | void;