import { Event } from "../../../base/common/event.js";
import { IDisposable } from "../../../base/common/lifecycle.js";
import { URI } from "../../../base/common/uri.js";
import { IWorkspaceIdentifier, ISingleFolderWorkspaceIdentifier, IWorkspace } from "../../workspace/common/workspace.js";
import { Verbosity, ResourceLabelFormatter, IFormatterChangeEvent } from "@codingame/monaco-vscode-82e231ca-6ed7-5920-b2b8-1874ccc0be07-common/vscode/vs/platform/label/common/label";
export declare const ILabelService: import("../../instantiation/common/instantiation.js").ServiceIdentifier<ILabelService>;
export interface ILabelService {
    readonly _serviceBrand: undefined;
    getUriLabel(resource: URI, options?: {
        relative?: boolean;
        noPrefix?: boolean;
        separator?: "/" | "\\";
    }): string;
    getUriBasenameLabel(resource: URI): string;
    getWorkspaceLabel(workspace: (IWorkspaceIdentifier | ISingleFolderWorkspaceIdentifier | URI | IWorkspace), options?: {
        verbose: Verbosity;
    }): string;
    getHostLabel(scheme: string, authority?: string): string;
    getHostTooltip(scheme: string, authority?: string): string | undefined;
    getSeparator(scheme: string, authority?: string): "/" | "\\";
    registerFormatter(formatter: ResourceLabelFormatter): IDisposable;
    onDidChangeFormatters: Event<IFormatterChangeEvent>;
    registerCachedFormatter(formatter: ResourceLabelFormatter): IDisposable;
}
