import { z } from 'zod';
declare const gitLabMergeRequestEventSchema: z.ZodObject<{
    object_kind: z.ZodLiteral<"merge_request">;
    event_type: z.ZodString;
    user: z.ZodObject<{
        username: z.ZodString;
        name: z.ZodString;
    }, z.core.$strip>;
    project: z.ZodObject<{
        id: z.ZodNumber;
        name: z.ZodString;
        path_with_namespace: z.ZodString;
        web_url: z.ZodString;
        git_http_url: z.ZodString;
    }, z.core.$strip>;
    object_attributes: z.ZodObject<{
        iid: z.ZodNumber;
        title: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        state: z.ZodEnum<{
            merged: "merged";
            closed: "closed";
            opened: "opened";
            locked: "locked";
        }>;
        action: z.ZodString;
        source_branch: z.ZodString;
        target_branch: z.ZodString;
        url: z.ZodString;
        draft: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>;
    reviewers: z.ZodOptional<z.ZodArray<z.ZodObject<{
        username: z.ZodString;
        name: z.ZodString;
    }, z.core.$strip>>>;
    assignees: z.ZodOptional<z.ZodArray<z.ZodObject<{
        username: z.ZodString;
        name: z.ZodString;
    }, z.core.$strip>>>;
    changes: z.ZodOptional<z.ZodObject<{
        reviewers: z.ZodOptional<z.ZodObject<{
            previous: z.ZodArray<z.ZodObject<{
                username: z.ZodString;
            }, z.core.$strip>>;
            current: z.ZodArray<z.ZodObject<{
                username: z.ZodString;
            }, z.core.$strip>>;
        }, z.core.$strip>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export declare const gitLabMergeRequestEventGuard: import("../../../../shared/foundation/guard.base.js").Guard<{
    object_kind: "merge_request";
    event_type: string;
    user: {
        username: string;
        name: string;
    };
    project: {
        id: number;
        name: string;
        path_with_namespace: string;
        web_url: string;
        git_http_url: string;
    };
    object_attributes: {
        iid: number;
        title: string;
        state: "merged" | "closed" | "opened" | "locked";
        action: string;
        source_branch: string;
        target_branch: string;
        url: string;
        description?: string | undefined;
        draft?: boolean | undefined;
    };
    reviewers?: {
        username: string;
        name: string;
    }[] | undefined;
    assignees?: {
        username: string;
        name: string;
    }[] | undefined;
    changes?: {
        reviewers?: {
            previous: {
                username: string;
            }[];
            current: {
                username: string;
            }[];
        } | undefined;
    } | undefined;
}>;
export type GitLabMergeRequestEvent = z.infer<typeof gitLabMergeRequestEventSchema>;
export {};
//# sourceMappingURL=gitlabMergeRequestEvent.guard.d.ts.map