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

import { Disposable, IDisposable } from '@sussudio/base/common/lifecycle.mjs';
import { URI, UriComponents } from '@sussudio/base/common/uri.mjs';
import { IProductService } from '../../product/common/productService.mjs';
import { IOpenURLOptions, IURLHandler, IURLService } from './url.mjs';
export declare abstract class AbstractURLService extends Disposable implements IURLService {
	readonly _serviceBrand: undefined;
	private handlers;
	abstract create(options?: Partial<UriComponents>): URI;
	open(uri: URI, options?: IOpenURLOptions): Promise<boolean>;
	registerHandler(handler: IURLHandler): IDisposable;
}
export declare class NativeURLService extends AbstractURLService {
	protected readonly productService: IProductService;
	constructor(productService: IProductService);
	create(options?: Partial<UriComponents>): URI;
}
