/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

import { Disposable } from '@sussudio/base/common/lifecycle.mjs';
import { URI } from '@sussudio/base/common/uri.mjs';
import { IProductService } from '../../product/common/productService.mjs';
import {
	IRemoteAuthorityResolverService,
	IRemoteConnectionData,
	ResolvedAuthority,
	ResolvedOptions,
	ResolverResult,
} from '../common/remoteAuthorityResolver.mjs';
export declare class RemoteAuthorityResolverService extends Disposable implements IRemoteAuthorityResolverService {
	readonly _serviceBrand: undefined;
	private readonly _onDidChangeConnectionData;
	readonly onDidChangeConnectionData: import('@sussudio/base/common/event.mjs').Event<void>;
	private readonly _resolveAuthorityRequests;
	private readonly _connectionTokens;
	private readonly _canonicalURIRequests;
	private _canonicalURIProvider;
	constructor(productService: IProductService);
	resolveAuthority(authority: string): Promise<ResolverResult>;
	getCanonicalURI(uri: URI): Promise<URI>;
	getConnectionData(authority: string): IRemoteConnectionData | null;
	_clearResolvedAuthority(authority: string): void;
	_setResolvedAuthority(resolvedAuthority: ResolvedAuthority, options?: ResolvedOptions): void;
	_setResolvedAuthorityError(authority: string, err: any): void;
	_setAuthorityConnectionToken(authority: string, connectionToken: string): void;
	_setCanonicalURIProvider(provider: (uri: URI) => Promise<URI>): void;
}
