import { RepoMetaData } from "../../dsl/RepoMetaData"; import { GitLabApproval, GitLabDiscussion, GitLabDiscussionCreationOptions, GitLabInlineNote, GitLabMR, GitLabMRChange, GitLabMRCommit, GitLabNote, GitLabUserProfile } from "../../dsl/GitLabDSL"; import { Env } from "../../ci_source/ci_source"; export declare type GitLabAPIToken = string; export declare type GitLabOAuthToken = string; export interface GitLabAPICredentials { host: string; token?: GitLabAPIToken; oauthToken?: GitLabOAuthToken; } export declare function getGitLabAPICredentialsFromEnv(env: Env): GitLabAPICredentials; declare class GitLabAPI { readonly repoMetadata: RepoMetaData; readonly repoCredentials: GitLabAPICredentials; private readonly api; private readonly hostURL; private readonly d; private readonly repoSlug; private readonly prId; constructor(repoMetadata: RepoMetaData, repoCredentials: GitLabAPICredentials); get projectURL(): string; get mergeRequestURL(): string; get apiInstance(): { Groups: import("@gitbeaker/core").Groups; GroupAccessRequests: import("@gitbeaker/core").GroupAccessRequests; GroupBadges: import("@gitbeaker/core").GroupBadges; GroupCustomAttributes: import("@gitbeaker/core").GroupCustomAttributes; GroupIssueBoards: import("@gitbeaker/core").GroupIssueBoards; GroupMembers: import("@gitbeaker/core").GroupMembers; GroupMilestones: import("@gitbeaker/core").GroupMilestones; GroupProjects: import("@gitbeaker/core").GroupProjects; GroupVariables: import("@gitbeaker/core").GroupVariables; GroupLabels: import("@gitbeaker/core").GroupLabels; GroupDeployTokens: import("@gitbeaker/core").GroupDeployTokens; Epics: import("@gitbeaker/core").Epics; EpicIssues: import("@gitbeaker/core").EpicIssues; EpicNotes: import("@gitbeaker/core").EpicNotes; EpicDiscussions: import("@gitbeaker/core").EpicDiscussions; Users: import("@gitbeaker/core").Users; UserCustomAttributes: import("@gitbeaker/core").UserCustomAttributes; UserEmails: import("@gitbeaker/core").UserEmails; UserImpersonationTokens: import("@gitbeaker/core").UserImpersonationTokens; UserKeys: import("@gitbeaker/core").UserKeys; UserGPGKeys: import("@gitbeaker/core").UserGPGKeys; Branches: import("@gitbeaker/core").Branches; Commits: import("@gitbeaker/core").Commits; CommitDiscussions: import("@gitbeaker/core").CommitDiscussions; ContainerRegistry: import("@gitbeaker/core").ContainerRegistry; DeployKeys: import("@gitbeaker/core").DeployKeys; Deployments: import("@gitbeaker/core").Deployments; Environments: import("@gitbeaker/core").Environments; Issues: import("@gitbeaker/core").Issues; IssuesStatistics: import("@gitbeaker/core").IssuesStatistics; IssueAwardEmojis: import("@gitbeaker/core").IssueAwardEmojis; IssueNotes: import("@gitbeaker/core").IssueNotes; IssueDiscussions: import("@gitbeaker/core").IssueDiscussions; Jobs: import("@gitbeaker/core").Jobs; Labels: import("@gitbeaker/core").Labels; MergeRequests: import("@gitbeaker/core").MergeRequests; MergeRequestAwardEmojis: import("@gitbeaker/core").MergeRequestAwardEmojis; MergeRequestDiscussions: import("@gitbeaker/core").MergeRequestDiscussions; MergeRequestNotes: import("@gitbeaker/core").MergeRequestNotes; Packages: import("@gitbeaker/core").Packages; Pipelines: import("@gitbeaker/core").Pipelines; PipelineSchedules: import("@gitbeaker/core").PipelineSchedules; PipelineScheduleVariables: import("@gitbeaker/core").PipelineScheduleVariables; Projects: import("@gitbeaker/core").Projects; ProjectAccessRequests: import("@gitbeaker/core").ProjectAccessRequests; ProjectBadges: import("@gitbeaker/core").ProjectBadges; ProjectCustomAttributes: import("@gitbeaker/core").ProjectCustomAttributes; ProjectImportExport: import("@gitbeaker/core").ProjectImportExport; ProjectIssueBoards: import("@gitbeaker/core").ProjectIssueBoards; ProjectHooks: import("@gitbeaker/core").ProjectHooks; ProjectMembers: import("@gitbeaker/core").ProjectMembers; ProjectMilestones: import("@gitbeaker/core").ProjectMilestones; ProjectSnippets: import("@gitbeaker/core").ProjectSnippets; ProjectSnippetNotes: import("@gitbeaker/core").ProjectSnippetNotes; ProjectSnippetDiscussions: import("@gitbeaker/core").ProjectSnippetDiscussions; ProjectSnippetAwardEmojis: import("@gitbeaker/core").ProjectSnippetAwardEmojis; ProtectedBranches: import("@gitbeaker/core").ProtectedBranches; ProtectedTags: import("@gitbeaker/core").ProtectedTags; ProjectVariables: import("@gitbeaker/core").ProjectVariables; ProjectDeployTokens: import("@gitbeaker/core").ProjectDeployTokens; PushRules: import("@gitbeaker/core").PushRules; Releases: import("@gitbeaker/core").Releases; ReleaseLinks: import("@gitbeaker/core").ReleaseLinks; Repositories: import("@gitbeaker/core").Repositories; RepositoryFiles: import("@gitbeaker/core/dist/types/services/RepositoryFiles").RepositoryFiles; Runners: import("@gitbeaker/core").Runners; Services: import("@gitbeaker/core").Services; Tags: import("@gitbeaker/core").Tags; Todos: import("@gitbeaker/core").Todos; Triggers: import("@gitbeaker/core").Triggers; VulnerabilityFindings: import("@gitbeaker/core").VulnerabilityFindings; ApplicationSettings: import("@gitbeaker/core").ApplicationSettings; BroadcastMessages: import("@gitbeaker/core").BroadcastMessages; Events: import("@gitbeaker/core").Events; FeatureFlags: import("@gitbeaker/core").FeatureFlags; GeoNodes: import("@gitbeaker/core").GeoNodes; GitignoreTemplates: import("@gitbeaker/core").GitignoreTemplates; GitLabCIYMLTemplates: import("@gitbeaker/core").GitLabCIYMLTemplates; Keys: import("@gitbeaker/core").Keys; License: import("@gitbeaker/core").License; LicenceTemplates: import("@gitbeaker/core").LicenceTemplates; Lint: import("@gitbeaker/core").Lint; Namespaces: import("@gitbeaker/core").Namespaces; NotificationSettings: import("@gitbeaker/core").NotificationSettings; Markdown: import("@gitbeaker/core").Markdown; PagesDomains: import("@gitbeaker/core").PagesDomains; Search: import("@gitbeaker/core").Search; SidekiqMetrics: import("@gitbeaker/core").SidekiqMetrics; Snippets: import("@gitbeaker/core").Snippets; SystemHooks: import("@gitbeaker/core").SystemHooks; Version: import("@gitbeaker/core").Version; Wikis: import("@gitbeaker/core").Wikis; }; getUser: () => Promise; getMergeRequestInfo: () => Promise; updateMergeRequestInfo: (changes: object) => Promise; getMergeRequestApprovals: () => Promise; getMergeRequestChanges: () => Promise; getMergeRequestCommits: () => Promise; getMergeRequestDiscussions: () => Promise; getMergeRequestNotes: () => Promise; getMergeRequestInlineNotes: () => Promise; createMergeRequestDiscussion: (content: string, options?: GitLabDiscussionCreationOptions | undefined) => Promise; createMergeRequestNote: (body: string) => Promise; updateMergeRequestNote: (id: number, body: string) => Promise; deleteMergeRequestNote: (id: number) => Promise; getFileContents: (path: string, slug?: string | undefined, ref?: string | undefined) => Promise; getCompareChanges: (base?: string | undefined, head?: string | undefined) => Promise; addLabels: (...labels: string[]) => Promise; removeLabels: (...labels: string[]) => Promise; } export default GitLabAPI;