import { Hoverifier } from '@sourcegraph/codeintellify';
import * as H from 'history';
import * as React from 'react';
import * as GQL from '../../backend/graphqlschema';
import { ExtensionsProps } from '../../extensions/ExtensionsClientCommonContext';
interface Part {
    repoPath: string;
    repoID: GQL.ID;
    rev: string;
    commitID: string;
    filePath: string | null;
}
interface Props extends ExtensionsProps {
    /** The anchor (URL hash link) of the file diff. The component creates sub-anchors with this prefix. */
    fileDiffAnchor: string;
    /** The base repository, revision, and file. */
    base: Part;
    /** The head repository, revision, and file. */
    head: Part;
    /** The file's hunks. */
    hunks: GQL.IFileDiffHunk[];
    /** Whether to show line numbers. */
    lineNumbers: boolean;
    className: string;
    location: H.Location;
    history: H.History;
    hoverifier: Hoverifier;
}
interface State {
}
/** Displays hunks in a unified file diff. */
export declare class FileDiffHunks extends React.Component<Props, State> {
    /** Emits whenever the ref callback for the code element is called */
    private codeElements;
    private nextCodeElement;
    /** Emits whenever the ref callback for the blob element is called */
    private blobElements;
    private nextBlobElement;
    /** Emits whenever something is hovered in the code */
    private codeMouseOvers;
    private nextCodeMouseOver;
    /** Emits whenever something is hovered in the code */
    private codeMouseMoves;
    private nextCodeMouseMove;
    /** Emits whenever something is clicked in the code */
    private codeClicks;
    private nextCodeClick;
    /** Emits with the latest Props on every componentDidUpdate and on componentDidMount */
    private componentUpdates;
    /** Subscriptions to be disposed on unmout */
    private subscriptions;
    constructor(props: Props);
    componentDidUpdate(): void;
    shouldComponentUpdate(nextProps: Readonly<Props>, nextState: Readonly<State>): boolean;
    componentWillUnmount(): void;
    render(): JSX.Element | null;
}
export {};
//# sourceMappingURL=FileDiffHunks.d.ts.map