/** ******************************************************************************
 * Copyright (C) 2018 Red Hat, Inc. and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/
import vscode from 'vscode';
import { IRPCProtocol } from '@opensumi/ide-connection';
import { CancellationToken, Event, IRelativePattern } from '@opensumi/ide-core-common';
import { FileOperation } from '@opensumi/ide-workspace-edit';
import { ExtensionDocumentDataManager, IExtensionDescription } from '../../../common/vscode';
import { FileSystemEvents, IExtHostFileSystemEvent, IWillRunFileOperationParticipation, SourceTargetPair } from '../../../common/vscode/file-system';
export declare class ExtHostFileSystemEvent implements IExtHostFileSystemEvent {
    private readonly rpcProtocol;
    private _extHostDocumentsAndEditors;
    private readonly _onFileSystemEvent;
    private readonly _onDidRenameFile;
    private readonly _onDidCreateFile;
    private readonly _onDidDeleteFile;
    private readonly _onWillRenameFile;
    private readonly _onWillCreateFile;
    private readonly _onWillDeleteFile;
    readonly onDidRenameFile: Event<vscode.FileRenameEvent>;
    readonly onDidCreateFile: Event<vscode.FileCreateEvent>;
    readonly onDidDeleteFile: Event<vscode.FileDeleteEvent>;
    protected readonly logger: import("@opensumi/ide-core-common").IDebugLog;
    private readonly _proxy;
    constructor(rpcProtocol: IRPCProtocol, _extHostDocumentsAndEditors: ExtensionDocumentDataManager);
    createFileSystemWatcher(globPattern: string | IRelativePattern, ignoreCreateEvents?: boolean, ignoreChangeEvents?: boolean, ignoreDeleteEvents?: boolean): vscode.FileSystemWatcher;
    $onFileEvent(events: FileSystemEvents): void;
    $onDidRunFileOperation(operation: FileOperation, files: SourceTargetPair[]): void;
    getOnWillRenameFileEvent(extension: IExtensionDescription): Event<vscode.FileWillRenameEvent>;
    getOnWillCreateFileEvent(extension: IExtensionDescription): Event<vscode.FileWillCreateEvent>;
    getOnWillDeleteFileEvent(extension: IExtensionDescription): Event<vscode.FileWillDeleteEvent>;
    private _createWillExecuteEvent;
    $onWillRunFileOperation(operation: FileOperation, files: SourceTargetPair[], timeout: number, token: CancellationToken): Promise<IWillRunFileOperationParticipation | undefined>;
    private _fireWillEvent;
}
//# sourceMappingURL=ext.host.file-system-event.d.ts.map