import { TranslationBundle } from '@jupyterlab/translation';
import { CommandRegistry } from '@lumino/commands';
import * as React from 'react';
import { GitExtension } from '../model';
import { ContextCommandIDs, Git } from '../tokens';
/**
 * Interface describing component properties.
 */
export interface IHistorySideBarProps {
    /**
     * List of commits.
     */
    commits: Git.ISingleCommitInfo[];
    /**
     * List of branches.
     */
    branches: Git.IBranch[];
    /**
     * List of tags.
     */
    tagsList: Git.ITag[];
    /**
     * Git extension data model.
     */
    model: GitExtension;
    /**
     * Jupyter App commands registry
     */
    commands: CommandRegistry;
    /**
     * The application language translator.
     */
    trans: TranslationBundle;
    /**
     * The commit to compare against.
     */
    referenceCommit: Git.ISingleCommitInfo | null;
    /**
     * The commit to compare.
     */
    challengerCommit: Git.ISingleCommitInfo | null;
    /**
     * Callback invoked upon clicking to select a commit for comparison.
     * @param event - event object
     */
    onSelectForCompare?: (commit: Git.ISingleCommitInfo) => (event?: React.MouseEvent<HTMLElement, MouseEvent>) => Promise<void>;
    /**
     * Callback invoked upon clicking to compare a commit against the selected.
     * @param event - event object
     */
    onCompareWithSelected?: (commit: Git.ISingleCommitInfo) => (event?: React.MouseEvent<HTMLElement, MouseEvent>) => Promise<void>;
}
export declare const CONTEXT_COMMANDS: ContextCommandIDs[];
/**
 * Returns a React component for displaying commit history.
 *
 * @param props - component properties
 * @returns React element
 */
export declare const HistorySideBar: React.FunctionComponent<IHistorySideBarProps>;
