import React from 'react';
import { Repo } from '../repo';
interface Props extends Repo {
    commitID: string;
    filePath: string;
    context?: number;
    highlightRanges: HighlightRange[];
    className?: string;
    isLightTheme: boolean;
}
interface HighlightRange {
    /**
     * The 0-based line number that this highlight appears in
     */
    line: number;
    /**
     * The 0-based character offset to start highlighting at
     */
    character: number;
    /**
     * The number of characters to highlight
     */
    highlightLength: number;
}
interface State {
    blobLines?: string[];
}
export declare class CodeExcerpt extends React.PureComponent<Props, State> {
    state: State;
    private tableContainerElement;
    private propsChanges;
    private visibilityChanges;
    private subscriptions;
    private visibilitySensorOffset;
    constructor(props: Props);
    componentDidMount(): void;
    componentWillReceiveProps(nextProps: Props): void;
    componentDidUpdate(prevProps: Props, prevState: State): void;
    componentWillUnmount(): void;
    private getFirstLine;
    private getLastLine;
    private onChangeVisibility;
    render(): JSX.Element | null;
    private setTableContainerElement;
    private makeTableHTML;
}
export {};
//# sourceMappingURL=CodeExcerpt.d.ts.map