import * as React from 'react';
import { ErrorLike } from '../util/errors';
export declare const RepositoryCloningInProgressPage: React.SFC<{
    repoName: string;
    progress?: string;
}>;
export declare const EmptyRepositoryPage: React.SFC;
interface Props {
    /** The repository. */
    repoPath: string;
    /** The fragment to render if the repository's Git data is accessible. */
    children: React.ReactNode;
}
interface State {
    /**
     * True if the repository's Git data is cloned and non-empty, undefined while loading, or an error (including
     * if cloning is in progress).
     */
    gitDataPresentOrError?: true | ErrorLike;
}
/**
 * A container for a repository page that incorporates global Git data but is not tied to one specific revision. A
 * loading/error page is shown if the repository is not yet cloned or is empty. Otherwise, the children are
 * rendered.
 */
export declare class RepositoryGitDataContainer extends React.PureComponent<Props, State> {
    state: State;
    private propsUpdates;
    private subscriptions;
    componentDidMount(): void;
    componentWillReceiveProps(props: Props): void;
    componentWillUnmount(): void;
    render(): React.ReactNode | React.ReactNode[] | null;
}
export {};
//# sourceMappingURL=RepositoryGitDataContainer.d.ts.map