import { Build, Change, Commit, Issue, Label, MergeRequest, Position, Project, Repository, Runner, Snippet, User, Wiki } from "./types"; export interface PushEvent { readonly object_kind: "push"; readonly event_name: "push"; readonly before?: string; readonly after?: string; readonly ref?: string; readonly checkout_sha?: string; readonly message?: string | null; readonly user_id?: number; readonly user_name?: string; readonly user_username?: string; readonly user_email?: string | null; readonly user_avatar?: string | null; readonly project_id?: number; readonly project?: Project; readonly push_options?: Record; readonly repository?: Repository; readonly commits?: Commit[]; readonly total_commits_count?: number; } export interface TagEvent extends PushEvent { } interface CommonIssueEvent { readonly object_kind: "issue"; readonly user?: User; readonly project?: Project; readonly object_attributes?: Issue & { readonly action?: "open" | "close" | "reopen" | "update"; }; readonly repository?: Repository; readonly assignees?: User[]; readonly assignee?: User; readonly labels?: Label[]; readonly changes?: { readonly author_id?: Change; readonly confidential?: Change; readonly description?: Change; readonly closed_at?: Change; readonly discussion_locked?: Change; readonly due_date?: Change; readonly id?: Change; readonly iid?: Change; readonly project_id?: Change; readonly title?: Change; readonly state_id?: Change; readonly updated_by_id?: Change; readonly updated_at?: Change; readonly labels?: { readonly previous?: Label[]; readonly current?: Label[]; }; readonly total_time_spent?: Change; readonly time_change?: Change; }; } export interface IssueEvent extends CommonIssueEvent { event_name: "issue" | "work item"; } export interface ConfidentialIssueEvent extends CommonIssueEvent { event_name: "confidential_issue" | "work item"; } interface CommonCommentEvent { readonly object_kind: "note"; readonly user?: User; readonly project_id?: number; readonly project?: Project; readonly repository?: Repository; readonly object_attributes?: { readonly id?: number; readonly discussion_id?: string; readonly note?: string; readonly noteable_type?: string; readonly assignee_id?: number | null; readonly author_id?: number; readonly change_position?: Position | null; readonly original_position?: Position | null; readonly position?: Position | null; readonly created_at?: string; readonly updated_at?: string | null; readonly resolved_at?: string | null; readonly resolved_by_id?: number | null; readonly resolved_by_push?: number | null; readonly type?: string | null; readonly project_id?: number; readonly attachment?: string | null; readonly line_code?: string | null; readonly commit_id?: string | null; readonly noteable_id?: number; readonly system?: boolean; readonly st_diff?: { readonly diff?: string; readonly new_path?: string; readonly old_path?: string; readonly a_mode?: string; readonly b_mode?: string; readonly new_file?: boolean; readonly renamed_file?: boolean; readonly deleted_file?: boolean; } | null; readonly url?: string; }; readonly commit?: Commit; readonly merge_request?: MergeRequest; readonly issue?: Issue; readonly snippet?: Snippet; } export interface CommentEvent extends CommonCommentEvent { event_name: "note"; } export interface ConfidentialCommentEvent extends CommonCommentEvent { event_name: "confidential_note"; } export interface MergeRequestEvent { readonly object_kind: "merge_request"; readonly event_name: "merge_request"; readonly user?: User; readonly project?: Project; readonly repository?: Repository; readonly object_attributes?: { readonly id?: number; readonly iid?: number; readonly target_branch?: string; readonly source_branch?: string; readonly source_project_id?: number; readonly author_id?: number; readonly assignee_ids?: number[]; readonly assignee_id?: number | null; readonly head_pipeline_id?: number | null; readonly last_edited_at?: string | null; readonly last_edited_by_id?: number | null; readonly merge_commit_sha?: string | null; readonly merge_error?: string | null; readonly merge_params?: Record; readonly merge_status?: string; readonly merge_user_id?: number | null; readonly merge_when_pipeline_succeeds?: boolean; readonly reviewer_ids?: number[]; readonly title?: string; readonly created_at?: string; readonly updated_at?: string; readonly milestone_id?: number | null; readonly state?: string; readonly state_id?: number; readonly time_estimate?: number; readonly updated_by_id?: number | null; readonly blocking_discussions_resolved?: boolean; readonly work_in_progress?: boolean; readonly total_time_spent?: number; readonly time_change?: number; readonly human_total_time_spent?: string | null; readonly human_time_change?: string | null; readonly human_time_estimate?: string | null; readonly first_contribution?: boolean; readonly target_project_id?: number; readonly description?: string | null; readonly url?: string; readonly source?: Project; readonly target?: Project; readonly last_commit?: Commit; readonly labels?: Label[]; readonly action?: string; }; readonly labels?: Label[]; readonly changes?: { readonly merge_status?: Change; readonly updated_by_id?: Change; readonly updated_at?: Change; readonly labels?: { readonly previous?: Label[]; readonly current?: Label[]; }; }; readonly assignees?: User[]; readonly reviewers?: User[]; } export interface WikiEvent { readonly object_kind: "wiki_page"; readonly user?: User; readonly project?: Project; readonly wiki?: Wiki; readonly object_attributes?: { readonly title?: string; readonly content?: string; readonly format?: string; readonly message?: string; readonly slug?: string; readonly url?: string; readonly action?: string; readonly diff_url?: string; }; } export interface PipelineEvent { readonly object_kind: "pipeline"; readonly object_attributes?: { readonly id?: number; readonly ref?: string; readonly tag?: boolean; readonly sha?: string; readonly before_sha?: string; readonly source?: string; readonly status?: string; readonly detailed_status?: string; readonly stages: string[]; readonly created_at?: string; readonly finished_at?: string | null; readonly duration?: number | null; readonly variables?: { readonly key?: string; readonly value?: string; }[]; }; readonly merge_request?: MergeRequest | null; readonly user?: User; readonly project?: Project; readonly commit?: Commit; readonly source_pipeline?: { readonly project?: { readonly id?: number; readonly web_url?: string; readonly path_with_namespace?: string; }; readonly pipeline_id?: number; readonly job_id?: number; }; readonly builds: Build[]; } export interface JobEvent { readonly object_kind: "build"; readonly ref?: string; readonly tag?: boolean; readonly before_sha?: string; readonly sha?: string; readonly build_id?: number; readonly build_name?: string; readonly build_stage?: string; readonly build_status?: string; readonly build_created_at?: string; readonly build_started_at?: string | null; readonly build_finished_at?: string | null; readonly build_duration?: number | null; readonly build_allow_failure?: boolean; readonly build_failure_reason?: string | null; readonly pipeline_id?: number; readonly project_id?: number; readonly project_name?: string; readonly user?: User; readonly commit?: { readonly id?: number; readonly sha?: string; readonly message?: string; readonly author_name?: string; readonly author_email?: string; readonly status?: string; readonly duration?: number | null; readonly started_at?: string | null; readonly finished_at?: string | null; }; readonly repository?: Repository; readonly runner?: Runner; readonly environment?: { readonly name?: string; readonly action?: string; } | null; } export interface DeploymentEvent { readonly object_kind: "deployment"; readonly status?: string; readonly status_changed_at?: string | null; readonly deployment_id?: number; readonly deployable_id?: number; readonly deployable_url?: string; readonly environment?: string | null; readonly project?: Project; readonly short_sha?: string; readonly user?: User; readonly user_url?: string; readonly commit_url?: string; readonly commit_title?: string; readonly ref?: string; } export interface MemberEvent { readonly created_at?: string; readonly updated_at?: string | null; readonly finished_at?: string | null; readonly group_name?: string; readonly group_path?: string; readonly group_id?: number; readonly user_username?: string; readonly user_name?: string; readonly user_email?: string; readonly user_id?: number; readonly group_access?: string; readonly group_plan?: string | null; readonly expires_at?: string | null; readonly event_name?: "user_add_to_group" | "user_update_for_group" | "user_remove_from_group"; } export interface SubgroupEvent { readonly created_at?: string; readonly updated_at?: string | null; readonly finished_at?: string | null; readonly name?: string; readonly path?: string; readonly full_path?: string; readonly group_id?: number; readonly parent_group_id?: number; readonly parent_name?: string; readonly parent_path?: string; readonly parent_full_path?: string; readonly event_name?: "subgroup_create" | "subgroup_destroy"; } export interface FeatureFlagEvent { readonly object_kind: "feature_flag"; readonly project?: Project; readonly user?: User; readonly user_url?: string; readonly object_attributes?: { readonly id?: number; readonly name?: string; readonly description?: string | null; readonly active?: boolean; }; } export interface ReleaseEvent { readonly object_kind: "release"; readonly id?: number; readonly created_at?: string; readonly description?: string | null; readonly name?: string; readonly released_at?: string; readonly tag?: string; readonly project?: Project; readonly url?: string; readonly action?: "create" | "update"; readonly assets?: { readonly count?: number; readonly links?: { readonly id?: number; readonly external?: boolean; readonly link_type?: string; readonly name?: string; readonly url?: string; }[]; readonly sources?: { readonly format?: string; readonly url?: string; }[]; readonly commit?: Commit; }; } export {}; //# sourceMappingURL=events.d.ts.map