import { ComponentClass, HTMLProps, ComponentType, Context } from 'react' import { PrismTheme, Language } from 'prism-react-renderer'; // Helper types type Omit = Pick> // React Element Props type DivProps = HTMLProps type PreProps = HTMLProps // LiveProvider export type LiveProviderProps = Omit & { scope?: { [key: string]: any }; code?: string; noInline?: boolean; transformCode?: (code: string) => (string | Promise); language?: Language; disabled?: boolean; theme?: PrismTheme; } export const LiveProvider: ComponentClass // Editor export type EditorProps = Omit & { code?: string, disabled?: boolean; language?: Language; onChange?: (code: string) => void; theme?: PrismTheme; prism?: unknown } export const Editor: ComponentClass // Context export interface ContextProps { code?: string; language?: Language; theme: PrismTheme; disabled?: boolean; error?: string; } export const LiveContext: Context; // LiveEditor export type LiveEditorProps = EditorProps; export const LiveEditor: ComponentClass // LiveError export const LiveError: ComponentClass // LivePreview export const LivePreview: ComponentClass // withLive HOC export function withLive(wrappedComponent: ComponentType): ComponentClass
(wrappedComponent: ComponentType
): ComponentClass