import { Range } from './textRange'; import { Uri } from './uri/uri'; export interface TextEditAction { range: Range; replacementText: string; } export interface FileEditAction extends TextEditAction { fileUri: Uri; } export interface FileEditActions { edits: FileEditAction[]; fileOperations: FileOperations[]; } export type FileOperations = RenameFileOperation | CreateFileOperation | DeleteFileOperation; export interface FileOperation { kind: 'create' | 'delete' | 'rename'; } export interface RenameFileOperation extends FileOperation { kind: 'rename'; oldFileUri: Uri; newFileUri: Uri; } export interface CreateFileOperation extends FileOperation { kind: 'create'; fileUri: Uri; } export interface DeleteFileOperation extends FileOperation { kind: 'delete'; fileUri: Uri; } export declare namespace TextEditAction { function is(value: any): value is TextEditAction; } export declare namespace FileEditAction { function is(value: any): value is FileEditAction; function areEqual(e1: FileEditAction, e2: FileEditAction): boolean; }