import { ControllerProps as GenericExtensionsControllerProps } from '@sourcegraph/extensions-client-common/lib/client/controller';
import { ExtensionsProps as GenericExtensionsProps } from '@sourcegraph/extensions-client-common/lib/context';
import { Controller as ExtensionsContextController } from '@sourcegraph/extensions-client-common/lib/controller';
import { ConfiguredExtension } from '@sourcegraph/extensions-client-common/lib/extensions/extension';
import { ClientConnection } from '@sourcegraph/extensions-client-common/lib/messaging';
import { ConfigurationCascadeProps as GenericConfigurationCascadeProps, ConfigurationSubject, Settings } from '@sourcegraph/extensions-client-common/lib/settings';
import { Observable } from 'rxjs';
import { MessageTransports } from 'sourcegraph/module/protocol/jsonrpc2/connection';
export interface ExtensionsControllerProps extends GenericExtensionsControllerProps<ConfigurationSubject, Settings> {
}
export interface ConfigurationCascadeProps extends GenericConfigurationCascadeProps<ConfigurationSubject, Settings> {
}
export interface ExtensionsProps extends GenericExtensionsProps<ConfigurationSubject, Settings> {
}
export declare function createExtensionsContextController(clientConnection: Promise<ClientConnection>): ExtensionsContextController<ConfigurationSubject, Settings>;
export declare function updateHighestPrecedenceExtensionSettings(args: {
    extensionID: string;
    enabled?: boolean;
}, clientConnection: Promise<ClientConnection>): Observable<void>;
export declare function createMessageTransports(extension: Pick<ConfiguredExtension, 'id' | 'manifest'>): Promise<MessageTransports>;
//# sourceMappingURL=ExtensionsClientCommonContext.d.ts.map