import { ServerCapabilities } from 'javascript-typescript-langserver/lib/request-type';
import React from 'react';
import { AbsoluteRepoFile } from '..';
import { ModeSpec } from '../../backend/features';
import { ErrorLike } from '../../util/errors';
interface LangServer {
    displayName?: string;
    homepageURL?: string;
    issuesURL?: string;
    /** defaults to `false` */
    experimental: boolean;
    /** `capabilities` is undefined when no language server is connected. */
    capabilities?: ServerCapabilities;
}
interface CodeIntelStatusIndicatorProps extends AbsoluteRepoFile, ModeSpec {
    userIsSiteAdmin: boolean;
}
interface CodeIntelStatusIndicatorState {
    /** The language server, error, undefined while loading or null if no language server registered */
    langServerOrError?: LangServer | ErrorLike | null;
}
export declare class CodeIntelStatusIndicator extends React.Component<CodeIntelStatusIndicatorProps, CodeIntelStatusIndicatorState> {
    state: CodeIntelStatusIndicatorState;
    private componentUpdates;
    private subscription;
    shouldComponentUpdate(nextProps: CodeIntelStatusIndicatorProps, nextState: CodeIntelStatusIndicatorState): boolean;
    componentDidMount(): void;
    componentDidUpdate(oldProps: CodeIntelStatusIndicatorProps): void;
    componentWillUnmount(): void;
    private getButtonColorCSSClass;
    render(): React.ReactNode;
}
export {};
//# sourceMappingURL=CodeIntelStatusIndicator.d.ts.map