import React from 'react'; type registerLanguage = (name: string, language: LanguageFn) => any; declare const _default: (options: { supportedLanguages?: string[] | undefined; loader: () => Promise; isLanguageRegistered?: ((instance: { registered: (lang: string) => boolean; }, language: any) => boolean) | undefined; registerLanguage?: ((gen: any, languageName: string, language: LanguageFn) => void) | undefined; languageLoaders?: { [key: string]: (registerLang: registerLanguage) => void; } | undefined; noAsyncLoadingLanguages?: boolean | undefined; }) => { new (props: any): { componentDidUpdate(): void; componentDidMount(): void; loadLanguage(): void; normalizeLanguage(language: string): string; render(): React.JSX.Element; context: unknown; setState(state: {} | ((prevState: Readonly<{}>, props: Readonly<{ language: string; children: any; wrapLines?: boolean | undefined; customStyle: any; lineProps: any; }>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void; forceUpdate(callback?: (() => void) | undefined): void; readonly props: Readonly<{ language: string; children: any; wrapLines?: boolean | undefined; customStyle: any; lineProps: any; }>; state: Readonly<{}>; refs: { [key: string]: React.ReactInstance; }; shouldComponentUpdate?(nextProps: Readonly<{ language: string; children: any; wrapLines?: boolean | undefined; customStyle: any; lineProps: any; }>, nextState: Readonly<{}>, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly<{ language: string; children: any; wrapLines?: boolean | undefined; customStyle: any; lineProps: any; }>, prevState: Readonly<{}>): any; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly<{ language: string; children: any; wrapLines?: boolean | undefined; customStyle: any; lineProps: any; }>, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly<{ language: string; children: any; wrapLines?: boolean | undefined; customStyle: any; lineProps: any; }>, nextContext: any): void; componentWillUpdate?(nextProps: Readonly<{ language: string; children: any; wrapLines?: boolean | undefined; customStyle: any; lineProps: any; }>, nextState: Readonly<{}>, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly<{ language: string; children: any; wrapLines?: boolean | undefined; customStyle: any; lineProps: any; }>, nextState: Readonly<{}>, nextContext: any): void; }; astGenerator: any; highlightInstance: ({ language, children, style, customStyle, codeTagProps, useInlineStyles, showLineNumbers, showInlineLineNumbers, startingLineNumber, lineNumberContainerStyle, lineNumberStyle, wrapLines, wrapLongLines, lineProps, renderer, PreTag, CodeTag, code, astGenerator, ...rest }: { language: string; children: any; style: any; customStyle: any; codeTagProps: any; useInlineStyles: boolean; showLineNumbers: boolean; showInlineLineNumbers: boolean; startingLineNumber: number; lineNumberContainerStyle: any; lineNumberStyle: any; wrapLines: boolean; wrapLongLines: boolean; lineProps: any; renderer: any; PreTag: any; CodeTag: any; code: string; astGenerator: any; className: string; }) => React.JSX.Element; astGeneratorPromise: Promise | null; languages: Map; supportedLanguages: string[]; preload(): Promise; loadLanguage(language: string): Promise; isSupportedLanguage(language: string): boolean; isRegistered: (language: string) => boolean; registerLanguage: registerLanguage; loadAstGenerator(): Promise; contextType?: React.Context | undefined; }; export default _default;