import { ConfiguredExtension } from '@sourcegraph/extensions-client-common/lib/extensions/extension'; import * as React from 'react'; import { RouteComponentProps } from 'react-router'; import * as GQL from '../../backend/graphqlschema'; import { ConfigurationCascadeProps, ExtensionsProps } from '../../extensions/ExtensionsClientCommonContext'; import { RouteDescriptor } from '../../util/contributions'; import { ErrorLike } from '../../util/errors'; import { ExtensionsAreaRouteContext } from '../ExtensionsArea'; import { ExtensionAreaHeaderNavItem } from './ExtensionAreaHeader'; export declare const registryExtensionFragment: import("../../backend/graphql").GraphQLDocument; export interface ExtensionAreaRoute extends RouteDescriptor { } export interface ExtensionAreaProps extends ExtensionsAreaRouteContext, RouteComponentProps<{ extensionID: string; }> { routes: ReadonlyArray; isLightTheme: boolean; extensionAreaHeaderNavItems: ReadonlyArray; } interface ExtensionAreaState { /** The registry extension, undefined while loading, or an error. */ extensionOrError?: ConfiguredExtension | ErrorLike; } /** * Properties passed to all page components in the registry extension area. */ export interface ExtensionAreaRouteContext extends ConfigurationCascadeProps, ExtensionsProps { /** The extension registry area main URL. */ url: string; /** The extension that is the subject of the page. */ extension: ConfiguredExtension; /** Called when the component updates the extension and it should be refreshed here. */ onDidUpdateExtension: () => void; /** The currently authenticated user. */ authenticatedUser: GQL.IUser | null; isLightTheme: boolean; } /** * An extension area. */ export declare class ExtensionArea extends React.Component { state: ExtensionAreaState; private componentUpdates; private refreshRequests; private subscriptions; componentDidMount(): void; componentWillReceiveProps(props: ExtensionAreaProps): void; componentWillUnmount(): void; render(): JSX.Element | null; private onDidUpdateExtension; } export {}; //# sourceMappingURL=ExtensionArea.d.ts.map