/// <reference types="react" />
interface CreateSnippetDataResult {
    fgColor: string;
    bgColor: string;
    firstLineOffset: number;
    language?: string;
    tokensByLine: Token[][];
}
declare type Token = string | [value: string, fgColor: string];

declare function createSnippetComponent(parseResult: CreateSnippetDataResult): (props: Omit<CodeSnippetProps, 'parseResult'>) => JSX.Element;
interface BoundCodeSnippet {
    (props: Omit<CodeSnippetProps, 'parseResult'>): JSX.Element;
}
interface CodeSnippetProps {
    className?: string;
    lineNumbers?: boolean;
    parseResult: CreateSnippetDataResult;
    fromLine?: number;
    toLine?: number;
    emphasizeRanges?: Array<[fromLine: number, toLine: number]>;
}
declare const CodeSnippet: (props: CodeSnippetProps) => JSX.Element | null;

export { BoundCodeSnippet, CodeSnippet, CodeSnippetProps, createSnippetComponent };
