import { HoverState } from '@sourcegraph/codeintellify';
import * as React from 'react';
import { RouteComponentProps } from 'react-router';
import * as GQL from '../../backend/graphqlschema';
import { ExtensionsDocumentsProps } from '../../extensions/environment/ExtensionsEnvironment';
import { ExtensionsControllerProps, ExtensionsProps } from '../../extensions/ExtensionsClientCommonContext';
import { ErrorLike } from '../../util/errors';
interface Props extends RouteComponentProps<{
    revspec: string;
}>, ExtensionsProps, ExtensionsControllerProps, ExtensionsDocumentsProps {
    repo: GQL.IRepository;
    onDidUpdateExternalLinks: (externalLinks: GQL.IExternalLink[] | undefined) => void;
}
interface State extends HoverState {
    /** The commit, undefined while loading, or an error. */
    commitOrError?: GQL.IGitCommit | ErrorLike;
}
/** Displays a commit. */
export declare class RepositoryCommitPage extends React.Component<Props, State> {
    private componentUpdates;
    /** Emits whenever the ref callback for the hover element is called */
    private hoverOverlayElements;
    private nextOverlayElement;
    /** Emits whenever the ref callback for the hover element is called */
    private repositoryCommitPageElements;
    private nextRepositoryCommitPageElement;
    /** Emits when the go to definition button was clicked */
    private goToDefinitionClicks;
    private nextGoToDefinitionClick;
    /** Emits when the close button was clicked */
    private closeButtonClicks;
    private nextCloseButtonClick;
    private subscriptions;
    private hoverifier;
    constructor(props: Props);
    private getLSPTextDocumentPositionParams;
    componentDidMount(): void;
    shouldComponentUpdate(nextProps: Readonly<Props>, nextState: Readonly<State>): boolean;
    componentDidUpdate(): void;
    componentWillUnmount(): void;
    render(): JSX.Element | null;
    private queryDiffs;
}
export {};
//# sourceMappingURL=RepositoryCommitPage.d.ts.map