import { CustomEditorsExt, Plugin } from '../common/plugin-api-rpc'; import * as theia from '@theia/plugin'; import { RPCProtocol } from '../common/rpc-protocol'; import { UriComponents } from '../common/uri-components'; import { DocumentsExtImpl } from './documents'; import { WebviewsExtImpl } from './webviews'; import { CancellationToken } from '@theia/core/lib/common/cancellation'; export declare class CustomEditorsExtImpl implements CustomEditorsExt { private readonly documentExt; private readonly webviewExt; private readonly proxy; private readonly editorProviders; private readonly documents; constructor(rpc: RPCProtocol, documentExt: DocumentsExtImpl, webviewExt: WebviewsExtImpl); registerCustomEditorProvider(viewType: string, provider: theia.CustomReadonlyEditorProvider | theia.CustomTextEditorProvider, options: { webviewOptions?: theia.WebviewPanelOptions; supportsMultipleEditorsPerDocument?: boolean; }, plugin: Plugin): theia.Disposable; $createCustomDocument(resource: UriComponents, viewType: string, openContext: theia.CustomDocumentOpenContext, cancellation: CancellationToken): Promise<{ editable: boolean; }>; $disposeCustomDocument(resource: UriComponents, viewType: string): Promise; $resolveWebviewEditor(resource: UriComponents, handler: string, viewType: string, title: string, position: number, options: theia.WebviewPanelOptions, cancellation: CancellationToken): Promise; getCustomDocumentEntry(viewType: string, resource: UriComponents): CustomDocumentStoreEntry; $disposeEdits(resourceComponents: UriComponents, viewType: string, editIds: number[]): void; $onMoveCustomEditor(handle: string, newResourceComponents: UriComponents, viewType: string): Promise; $undo(resourceComponents: UriComponents, viewType: string, editId: number, isDirty: boolean): Promise; $redo(resourceComponents: UriComponents, viewType: string, editId: number, isDirty: boolean): Promise; $revert(resourceComponents: UriComponents, viewType: string, cancellation: CancellationToken): Promise; $save(resourceComponents: UriComponents, viewType: string, cancellation: CancellationToken): Promise; $saveAs(resourceComponents: UriComponents, viewType: string, targetResource: UriComponents, cancellation: CancellationToken): Promise; private getCustomEditorProvider; private supportEditing; } declare class CustomDocumentStoreEntry { readonly document: theia.CustomDocument; constructor(document: theia.CustomDocument); private readonly edits; addEdit(item: theia.CustomDocumentEditEvent): number; undo(editId: number, isDirty: boolean): Promise; redo(editId: number, isDirty: boolean): Promise; disposeEdits(editIds: number[]): void; private getEdit; } export {}; //# sourceMappingURL=custom-editors.d.ts.map