/*---------------------------------------------------------------------------------------------
 *  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 "../../../base/common/lifecycle.mjs";
import { URI, UriComponents } from "../../../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;
}
