import * as libphonenumber_js from 'libphonenumber-js';
import { z } from 'zod';

declare const FindGroupByInviteCodeResponseSchema: z.ZodEffects<z.ZodObject<Omit<{
    id: z.ZodString;
    subject: z.ZodString;
    subjectOwner: z.ZodString;
    subjectTime: z.ZodDate;
    pictureUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    size: z.ZodNumber;
    creation: z.ZodDate;
    owner: z.ZodString;
    restrict: z.ZodBoolean;
    announce: z.ZodBoolean;
} & {
    participants: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        admin: z.ZodOptional<z.ZodNullable<z.ZodEnum<["admin", "superadmin"]>>>;
    }, "strip", z.ZodTypeAny, {
        id: string;
        admin?: "admin" | "superadmin" | null | undefined;
    }, {
        id: string;
        admin?: "admin" | "superadmin" | null | undefined;
    }>, "many">;
} & {
    isCommunity: z.ZodBoolean;
    isCommunityAnnounce: z.ZodBoolean;
    joinApprovalMode: z.ZodBoolean;
    memberAddMode: z.ZodBoolean;
}, "pictureUrl">, "strip", z.ZodTypeAny, {
    id: string;
    subject: string;
    subjectOwner: string;
    subjectTime: Date;
    size: number;
    creation: Date;
    owner: string;
    restrict: boolean;
    announce: boolean;
    participants: {
        id: string;
        admin?: "admin" | "superadmin" | null | undefined;
    }[];
    isCommunity: boolean;
    isCommunityAnnounce: boolean;
    joinApprovalMode: boolean;
    memberAddMode: boolean;
}, {
    id: string;
    subject: string;
    subjectOwner: string;
    subjectTime: Date;
    size: number;
    creation: Date;
    owner: string;
    restrict: boolean;
    announce: boolean;
    participants: {
        id: string;
        admin?: "admin" | "superadmin" | null | undefined;
    }[];
    isCommunity: boolean;
    isCommunityAnnounce: boolean;
    joinApprovalMode: boolean;
    memberAddMode: boolean;
}>, {
    isCommunity: boolean;
    isCommunityAnnounce: boolean;
    joinApprovalMode: boolean;
    memberAddMode: boolean;
    participants: {
        id: string;
        role: "admin" | "superadmin" | "member";
    }[];
    jid: `${string}@g.us`;
    name: string;
    pictureUrl: string | undefined;
    size: number;
    subject: {
        owner: `${string}@s.whatsapp.net`;
        time: Date;
    };
    owner: {
        jid: `${string}@s.whatsapp.net`;
        phoneNumber: libphonenumber_js.E164Number;
    };
    createdAt: Date;
    restrict: boolean;
    announce: boolean;
}, {
    id: string;
    subject: string;
    subjectOwner: string;
    subjectTime: Date;
    size: number;
    creation: Date;
    owner: string;
    restrict: boolean;
    announce: boolean;
    participants: {
        id: string;
        admin?: "admin" | "superadmin" | null | undefined;
    }[];
    isCommunity: boolean;
    isCommunityAnnounce: boolean;
    joinApprovalMode: boolean;
    memberAddMode: boolean;
}>;
type FindGroupByInviteCodeResponse = z.infer<typeof FindGroupByInviteCodeResponseSchema>;

export { type FindGroupByInviteCodeResponse, FindGroupByInviteCodeResponseSchema, FindGroupByInviteCodeResponseSchema as ResponseSchema };
