import { URI } from '@theia/core/shared/vscode-uri'; import { Event } from '@theia/core/lib/common/event'; import { Range, CommentInfo, CommentingRanges, CommentThread, CommentThreadChangedEvent, CommentThreadChangedEventMain } from '../../../common/plugin-api-rpc-model'; import { CommentController } from './comments-main'; export interface ResourceCommentThreadEvent { resource: URI; commentInfos: CommentInfoMain[]; } export interface CommentInfoMain extends CommentInfo { owner: string; label?: string; } export interface WorkspaceCommentThreadsEventMain { ownerId: string; commentThreads: CommentThread[]; } export declare const CommentsService: unique symbol; export interface CommentsService { readonly onDidSetResourceCommentInfos: Event; readonly onDidSetAllCommentThreads: Event; readonly onDidUpdateCommentThreads: Event; readonly onDidChangeActiveCommentThread: Event; readonly onDidChangeActiveCommentingRange: Event<{ range: Range; commentingRangesInfo: CommentingRanges; }>; readonly onDidSetDataProvider: Event; readonly onDidDeleteDataProvider: Event; setDocumentComments(resource: URI, commentInfos: CommentInfoMain[]): void; setWorkspaceComments(owner: string, commentsByResource: CommentThread[]): void; removeWorkspaceComments(owner: string): void; registerCommentController(owner: string, commentControl: CommentController): void; unregisterCommentController(owner: string): void; getCommentController(owner: string): CommentController | undefined; createCommentThreadTemplate(owner: string, resource: URI, range: Range): void; updateCommentThreadTemplate(owner: string, threadHandle: number, range: Range): Promise; updateComments(ownerId: string, event: CommentThreadChangedEvent): void; disposeCommentThread(ownerId: string, threadId: string): void; getComments(resource: URI): Promise<(CommentInfoMain | null)[]>; getCommentingRanges(resource: URI): Promise; setActiveCommentThread(commentThread: CommentThread | null): void; } export declare class PluginCommentService implements CommentsService { private readonly onDidSetDataProviderEmitter; readonly onDidSetDataProvider: Event; private readonly onDidDeleteDataProviderEmitter; readonly onDidDeleteDataProvider: Event; private readonly onDidSetResourceCommentInfosEmitter; readonly onDidSetResourceCommentInfos: Event; private readonly onDidSetAllCommentThreadsEmitter; readonly onDidSetAllCommentThreads: Event; private readonly onDidUpdateCommentThreadsEmitter; readonly onDidUpdateCommentThreads: Event; private readonly onDidChangeActiveCommentThreadEmitter; readonly onDidChangeActiveCommentThread: Event; private readonly onDidChangeActiveCommentingRangeEmitter; readonly onDidChangeActiveCommentingRange: Event<{ range: Range; commentingRangesInfo: CommentingRanges; }>; private commentControls; setActiveCommentThread(commentThread: CommentThread | null): void; setDocumentComments(resource: URI, commentInfos: CommentInfoMain[]): void; setWorkspaceComments(owner: string, commentsByResource: CommentThread[]): void; removeWorkspaceComments(owner: string): void; registerCommentController(owner: string, commentControl: CommentController): void; unregisterCommentController(owner: string): void; getCommentController(owner: string): CommentController | undefined; createCommentThreadTemplate(owner: string, resource: URI, range: Range): void; updateCommentThreadTemplate(owner: string, threadHandle: number, range: Range): Promise; disposeCommentThread(owner: string, threadId: string): void; updateComments(ownerId: string, event: CommentThreadChangedEvent): void; getComments(resource: URI): Promise<(CommentInfoMain | null)[]>; getCommentingRanges(resource: URI): Promise; } //# sourceMappingURL=comments-service.d.ts.map