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-d392702e-4ad7-5904-a915-f6063284cf14-common/vscode/vs/workbench/contrib/files/common/explorerModel";
import { ISortOrderConfiguration } from "@codingame/monaco-vscode-f24e325c-2ce0-5bba-8236-bfc4f53180ab-common/vscode/vs/workbench/contrib/files/common/files";
import { IExplorerView } from "@codingame/monaco-vscode-d392702e-4ad7-5904-a915-f6063284cf14-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>;
    /**
    * Selects and reveal the file element provided by the given resource if its found in the explorer.
    * Will try to resolve the path in case the explorer is not yet expanded to the file yet.
    */
    select(resource: URI, reveal?: boolean | string): Promise<void>;
    registerView(contextAndRefreshProvider: IExplorerView): void;
}
export declare const IExplorerService: import("../../../../platform/instantiation/common/instantiation.js").ServiceIdentifier<IExplorerService>;
