import * as React from 'react';
import * as GQL from '../backend/graphqlschema';
interface Props {
}
declare type LanguageState = 'updating' | 'restarting' | 'enabling' | 'disabling';
interface State {
    langServers: GQL.ILangServer[];
    loading: boolean;
    error?: Error;
    /**
     * Maps languages to an error occurring about that language. e.g. if
     * updating a specific language fails, an error will be present here for
     * that language.
     */
    errorsBylanguage: Map<string, Error>;
    /**
     * Maps languages to their current pending state. e.g. if the Restart
     * button is clicked, but the GraphQL mutation has not returned yet, this
     * state will indicate that the language is 'restarting'.
     */
    pendingStateByLanguage: Map<string, LanguageState>;
}
/**
 * Component to show the status of language servers.
 */
export declare class SiteAdminLangServers extends React.PureComponent<Props, State> {
    state: State;
    private subscriptions;
    private refreshLangServers;
    private updateButtonClicks;
    private restartButtonClicks;
    private disableButtonClicks;
    private enableButtonClicks;
    private EXPERIMENTAL_LANGUAGE_SERVER_WARNING;
    componentDidMount(): void;
    componentWillUnmount(): void;
    render(): JSX.Element | null;
    private renderStatus;
    private renderActions;
    private renderRepo;
    private logClick;
    private generateClickHandler;
}
export {};
//# sourceMappingURL=SiteAdminLangServers.d.ts.map