import { User } from '../../user/entities/user.entity';
import { Meeting } from './meeting.entity';
export declare enum InviteScope {
    PUBLIC = "PUBLIC",
    VERIFIED = "VERIFIED",
    AUTHENTICATED = "AUTHENTICATED"
}
export declare enum InviteChannel {
    WHATSAPP = "WHATSAPP",
    EMAIL = "EMAIL",
    SMS = "SMS",
    LINK = "LINK"
}
export declare enum InviteStatus {
    PENDING = "PENDING",
    SENT = "SENT",
    OPENED = "OPENED",
    JOINED = "JOINED",
    EXPIRED = "EXPIRED",
    REVOKED = "REVOKED"
}
export declare class MeetingInvite {
    id: number;
    meeting_id: number;
    meeting: Meeting;
    token: string;
    recipient_name: string | null;
    recipient_email: string | null;
    recipient_mobile: string | null;
    recipient_user_id: number | null;
    recipient_user: User | null;
    scope: InviteScope;
    channel: InviteChannel;
    status: InviteStatus;
    grant_role: string;
    expires_at: Date;
    sent_at: Date | null;
    opened_at: Date | null;
    joined_at: Date | null;
    otp_hash: string | null;
    otp_expires_at: Date | null;
    otp_attempts: number;
    created_by_id: number;
    created_by: User;
    created_at: Date;
}
