import { CancellationToken } from "../../../../base/common/cancellation.js";
import { Event } from "../../../../base/common/event.js";
import { IDisposable } from "../../../../base/common/lifecycle.js";
import { IEditorPane } from "../../../common/editor.js";
import { OutlineTarget, IOutline, IOutlineCreator } from "@codingame/monaco-vscode-d6e33d82-c101-549d-a885-0807ab3e0cfb-common/vscode/vs/workbench/services/outline/browser/outline";
export declare const IOutlineService: import("../../../../platform/instantiation/common/instantiation.js").ServiceIdentifier<IOutlineService>;
export interface IOutlineService {
    _serviceBrand: undefined;
    onDidChange: Event<void>;
    canCreateOutline(editor: IEditorPane): boolean;
    createOutline(editor: IEditorPane, target: OutlineTarget, token: CancellationToken): Promise<IOutline<any> | undefined>;
    registerOutlineCreator(creator: IOutlineCreator<any, any>): IDisposable;
}
