import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri"; import { ITextFileStreamContent, ITextFileContent, IResourceEncodings, IReadTextFileOptions, IWriteTextFileOptions, ITextFileSaveOptions, ITextFileEditorModelManager, IResourceEncoding, ITextFileSaveAsOptions, IReadTextFileEncodingOptions } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/textfile/common/textfiles"; import { ITextFileService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/textfile/common/textfiles.service"; import { IRevertOptions } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor"; import { ILifecycleService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle.service"; import { IFileStatWithMetadata, ICreateFileOptions } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files"; import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service"; import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { IWorkbenchEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service"; import { IUntitledTextEditorModelManager } from "@codingame/monaco-vscode-view-common-service-override/vscode/vs/workbench/services/untitled/common/untitledTextEditorService"; import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation"; import { IModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service"; import { IFileDialogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service"; import { IDialogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service"; import { VSBuffer, VSBufferReadable, VSBufferReadableStream } from "@codingame/monaco-vscode-api/vscode/vs/base/common/buffer"; import { ITextSnapshot } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/model"; import { ITextResourceConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/textResourceConfiguration.service"; import { IFilesConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/filesConfiguration/common/filesConfigurationService.service"; import { ICodeEditorService } from "@codingame/monaco-vscode-api/vscode/vs/editor/browser/services/codeEditorService.service"; import { IPathService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service"; import { IFileOperationUndoRedoInfo } from "@codingame/monaco-vscode-base-service-override/vscode/vs/workbench/services/workingCopy/common/workingCopyFileService"; import { IWorkingCopyFileService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/workingCopy/common/workingCopyFileService.service"; import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service"; import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service"; import { ReadableStream } from "@codingame/monaco-vscode-api/vscode/vs/base/common/stream"; import { ILanguageService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service"; import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service"; import { IElevatedFileService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/files/common/elevatedFileService.service"; import { IDecorationsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/decorations/common/decorations.service"; export declare abstract class AbstractTextFileService extends Disposable implements ITextFileService { protected readonly fileService: IFileService; protected readonly lifecycleService: ILifecycleService; protected readonly instantiationService: IInstantiationService; private readonly modelService; protected readonly environmentService: IWorkbenchEnvironmentService; private readonly dialogService; private readonly fileDialogService; protected readonly textResourceConfigurationService: ITextResourceConfigurationService; protected readonly filesConfigurationService: IFilesConfigurationService; private readonly codeEditorService; private readonly pathService; private readonly workingCopyFileService; private readonly uriIdentityService; private readonly languageService; protected readonly logService: ILogService; private readonly elevatedFileService; private readonly decorationsService; readonly _serviceBrand: undefined; private static readonly TEXTFILE_SAVE_CREATE_SOURCE; private static readonly TEXTFILE_SAVE_REPLACE_SOURCE; readonly files: ITextFileEditorModelManager; readonly untitled: IUntitledTextEditorModelManager; constructor(fileService: IFileService, untitledTextEditorService: IUntitledTextEditorModelManager, lifecycleService: ILifecycleService, instantiationService: IInstantiationService, modelService: IModelService, environmentService: IWorkbenchEnvironmentService, dialogService: IDialogService, fileDialogService: IFileDialogService, textResourceConfigurationService: ITextResourceConfigurationService, filesConfigurationService: IFilesConfigurationService, codeEditorService: ICodeEditorService, pathService: IPathService, workingCopyFileService: IWorkingCopyFileService, uriIdentityService: IUriIdentityService, languageService: ILanguageService, logService: ILogService, elevatedFileService: IElevatedFileService, decorationsService: IDecorationsService); private provideDecorations; private _encoding; get encoding(): EncodingOracle; read(resource: URI, options?: IReadTextFileOptions): Promise; readStream(resource: URI, options?: IReadTextFileOptions): Promise; private doRead; create(operations: { resource: URI; value?: string | ITextSnapshot; options?: ICreateFileOptions; }[], undoInfo?: IFileOperationUndoRedoInfo): Promise; write(resource: URI, value: string | ITextSnapshot, options?: IWriteTextFileOptions): Promise; getEncodedReadable(resource: URI | undefined, value: ITextSnapshot): Promise; getEncodedReadable(resource: URI | undefined, value: string): Promise; getEncodedReadable(resource: URI | undefined, value?: ITextSnapshot): Promise; getEncodedReadable(resource: URI | undefined, value?: string): Promise; getEncodedReadable(resource: URI | undefined, value?: string | ITextSnapshot): Promise; getEncodedReadable(resource: URI | undefined, value: string | ITextSnapshot, options?: IWriteTextFileOptions): Promise; getDecodedStream(resource: URI | undefined, value: VSBufferReadableStream, options?: IReadTextFileEncodingOptions): Promise>; private doGetDecodedStream; getEncoding(resource: URI): string; resolveDecoding(resource: URI | undefined, options?: IReadTextFileEncodingOptions): Promise<{ preferredEncoding: string; guessEncoding: boolean; candidateGuessEncodings: string[]; }>; validateDetectedEncoding(resource: URI | undefined, detectedEncoding: string | undefined, options?: IReadTextFileEncodingOptions): Promise; resolveEncoding(resource: URI | undefined, options?: IWriteTextFileOptions): Promise<{ encoding: string; addBOM: boolean; }>; save(resource: URI, options?: ITextFileSaveOptions): Promise; saveAs(source: URI, target?: URI, options?: ITextFileSaveAsOptions): Promise; private doSaveAs; private doSaveAsTextFile; private confirmOverwrite; private confirmMakeWriteable; private suggestSavePath; suggestFilename(languageId: string, untitledName: string): string; revert(resource: URI, options?: IRevertOptions): Promise; isDirty(resource: URI): boolean; } export interface IEncodingOverride { parent?: URI; extension?: string; encoding: string; } export declare class EncodingOracle extends Disposable implements IResourceEncodings { private textResourceConfigurationService; private environmentService; private contextService; private readonly uriIdentityService; private _encodingOverrides; protected get encodingOverrides(): IEncodingOverride[]; protected set encodingOverrides(value: IEncodingOverride[]); constructor(textResourceConfigurationService: ITextResourceConfigurationService, environmentService: IWorkbenchEnvironmentService, contextService: IWorkspaceContextService, uriIdentityService: IUriIdentityService); private registerListeners; private getDefaultEncodingOverrides; getWriteEncoding(resource: URI | undefined, options?: IWriteTextFileOptions): Promise<{ encoding: string; addBOM: boolean; }>; getPreferredWriteEncoding(resource: URI | undefined, preferredEncoding?: string): Promise; getPreferredReadEncoding(resource: URI | undefined, options?: IReadTextFileEncodingOptions, detectedEncoding?: string): Promise; getUnvalidatedEncodingForResource(resource: URI | undefined, preferredEncoding?: string): string; private getValidatedEncodingForResource; private getEncodingOverride; }