import { ClientConnection } from '@sourcegraph/extensions-client-common/lib/messaging'; import * as React from 'react'; import { RouteComponentProps } from 'react-router'; import * as GQL from '../backend/graphqlschema'; import { RouteDescriptor } from '../util/contributions'; import { ExtensionAreaRoute } from './extension/ExtensionArea'; import { ExtensionAreaHeaderNavItem } from './extension/ExtensionAreaHeader'; import { ExtensionsAreaHeaderActionButton } from './ExtensionsAreaHeader'; import { ConfigurationCascadeProps, ExtensionsProps } from './ExtensionsClientCommonContext'; export interface ExtensionsAreaRoute extends RouteDescriptor { } /** * Properties passed to all page components in the extensions area. */ export interface ExtensionsAreaRouteContext extends ConfigurationCascadeProps, ExtensionsProps { /** The currently authenticated user. */ authenticatedUser: GQL.IUser | null; /** The subject whose extensions and configuration to display. */ subject: Pick; isLightTheme: boolean; clientConnection: Promise; extensionAreaRoutes: ReadonlyArray; extensionAreaHeaderNavItems: ReadonlyArray; } interface ExtensionsAreaProps extends RouteComponentProps<{ extensionID: string; }>, ConfigurationCascadeProps, ExtensionsProps { routes: ReadonlyArray; /** * The currently authenticated user. */ user: GQL.IUser | null; viewerSubject: Pick; isLightTheme: boolean; clientConnection: Promise; extensionAreaRoutes: ReadonlyArray; extensionsAreaHeaderActionButtons: ReadonlyArray; extensionAreaHeaderNavItems: ReadonlyArray; } interface ExtensionsAreaState { } /** * The extensions area. */ export declare class ExtensionsArea extends React.Component { state: ExtensionsAreaState; private componentUpdates; private subscriptions; componentDidMount(): void; componentWillReceiveProps(props: ExtensionsAreaProps): void; componentWillUnmount(): void; render(): JSX.Element | null; } export {}; //# sourceMappingURL=ExtensionsArea.d.ts.map