import GitLabAPI from "./gitlab/GitLabAPI"; import { Comment, Platform } from "./platform"; import { GitDSL, GitJSONDSL } from "../dsl/GitDSL"; import { GitLabDiscussion, GitLabDSL, GitLabJSONDSL, GitLabNote } from "../dsl/GitLabDSL"; declare class GitLab implements Platform { readonly api: GitLabAPI; readonly name: string; constructor(api: GitLabAPI); getReviewInfo: () => Promise; getPlatformReviewDSLRepresentation: () => Promise; getPlatformGitRepresentation: () => Promise; getInlineComments: (dangerID: string) => Promise; supportsCommenting(): boolean; supportsInlineComments(): boolean; updateOrCreateComment: (dangerID: string, newComment: string) => Promise; createComment: (comment: string) => Promise; createInlineComment: (git: GitDSL, comment: string, path: string, line: number) => Promise; updateInlineComment: (comment: string, id: string) => Promise; deleteInlineComment: (id: string) => Promise; deleteMainComment: (dangerID: string) => Promise; deleteNotes: (notes: GitLabNote[]) => Promise; /** * Only fetches the discussions where danger owns the top note */ getDangerDiscussions: (dangerID: string) => Promise; reduceNotesFromDiscussions: (discussions: GitLabDiscussion[]) => GitLabNote[]; getDangerNotes: (dangerID: string) => Promise; getDangerNoteFilter: (dangerID: string) => Promise<(note: GitLabNote) => boolean>; updateStatus: () => Promise; getFileContents: (path: string, slug?: string | undefined, ref?: string | undefined) => Promise; } export default GitLab; export declare const gitlabJSONToGitLabDSL: (gl: GitLabDSL, api: GitLabAPI) => GitLabDSL;