import { URI } from "../../../../base/common/uri.js";
import { ResourceFileEdit } from "../../../../editor/browser/services/bulkEditService.js";
import { ProgressLocation } from "../../../../platform/progress/common/progress.js";
import { IEditableData } from "../../../common/views.js";
import { ExplorerItem } from "@codingame/monaco-vscode-c4e2825a-b5b1-5f0e-b547-068c32e06d50-common/vscode/vs/workbench/contrib/files/common/explorerModel";
import { ISortOrderConfiguration } from "@codingame/monaco-vscode-68b3311c-eb96-5711-8f72-f5f4b2e31932-common/vscode/vs/workbench/contrib/files/common/files";
import { IExplorerView } from "@codingame/monaco-vscode-c4e2825a-b5b1-5f0e-b547-068c32e06d50-common/vscode/vs/workbench/contrib/files/browser/files";
export interface IExplorerService {
    readonly _serviceBrand: undefined;
    readonly roots: ExplorerItem[];
    readonly sortOrderConfiguration: ISortOrderConfiguration;
    getContext(respectMultiSelection: boolean, ignoreNestedChildren?: boolean): ExplorerItem[];
    hasViewFocus(): boolean;
    setEditable(stat: ExplorerItem, data: IEditableData | null): Promise<void>;
    getEditable(): {
        stat: ExplorerItem;
        data: IEditableData;
    } | undefined;
    getEditableData(stat: ExplorerItem): IEditableData | undefined;
    isEditable(stat: ExplorerItem | undefined): boolean;
    findClosest(resource: URI): ExplorerItem | null;
    findClosestRoot(resource: URI): ExplorerItem | null;
    refresh(): Promise<void>;
    setToCopy(stats: ExplorerItem[], cut: boolean): Promise<void>;
    isCut(stat: ExplorerItem): boolean;
    applyBulkEdit(edit: ResourceFileEdit[], options: {
        undoLabel: string;
        progressLabel: string;
        confirmBeforeUndo?: boolean;
        progressLocation?: ProgressLocation.Explorer | ProgressLocation.Window;
    }): Promise<void>;
    select(resource: URI, reveal?: boolean | string): Promise<void>;
    registerView(contextAndRefreshProvider: IExplorerView): void;
}
export declare const IExplorerService: import("../../../../platform/instantiation/common/instantiation.js").ServiceIdentifier<IExplorerService>;
