import { TranslationBundle } from '@jupyterlab/translation';
import * as React from 'react';
import { Git, IGitExtension } from '../tokens';
/**
 * Interface describing component properties.
 */
export interface INewTagDialogProps {
    /**
     * List of prior commits.
     */
    pastCommits: Git.ISingleCommitInfo[];
    /**
     * Git extension data model.
     */
    model: IGitExtension;
    /**
     * Boolean indicating whether to show the dialog.
     */
    open: boolean;
    /**
     * Callback to invoke upon closing the dialog.
     */
    onClose: () => void;
    /**
     * The application language translator.
     */
    trans: TranslationBundle;
    /**
     * Dialog box open from the context menu?
     */
    isSingleCommit: boolean;
}
/**
 * Interface describing component properties.
 */
export interface IDialogBoxCommitGraphProps {
    /**
     * List of prior commits.
     */
    pastCommits: Git.ISingleCommitInfo[];
    /**
     * Git extension data model.
     */
    model: IGitExtension;
    /**
     * The application language translator.
     */
    trans: TranslationBundle;
    /**
     * Filter state.
     */
    filter: string;
    /**
     * Base commit id state.
     */
    baseCommitId: string;
    /**
     * Update function for baseCommitId.
     */
    updateBaseCommitId: React.Dispatch<React.SetStateAction<string>>;
    /**
     * Dialog box open from the context menu.
     */
    isSingleCommit: boolean;
}
/**
 * Interface describing component properties.
 */
export interface ISingleCommitProps {
    /**
     * Commit data.
     */
    commit: Git.ISingleCommitInfo;
    /**
     * Identifier of commit the tag is pointing to.
     */
    baseCommitId: string;
    /**
     * The application language translator.
     */
    trans: TranslationBundle;
    /**
     * Callback to store a reference of the rendered <li> element in DialogBoxCommitGraph
     */
    setRef: (el: HTMLLIElement) => void;
    /**
     * Update function for baseCommitId state.
     */
    updateBaseCommitId: React.Dispatch<React.SetStateAction<string>>;
}
export declare const DialogBoxCommitGraph: React.FunctionComponent<IDialogBoxCommitGraphProps>;
export declare const SingleCommitNode: React.FunctionComponent<ISingleCommitProps>;
export declare const NewTagDialogBox: React.FunctionComponent<INewTagDialogProps>;
