import { MeetingInviteService } from './services/meeting-invite.service';
import { RedeemInviteDto } from './dto/redeem-invite.dto';
export declare class JoinController {
    private readonly invites;
    constructor(invites: MeetingInviteService);
    peek(token: string): Promise<{
        ok: boolean;
        requires_otp: boolean;
        requires_login: boolean;
        otp_expired: boolean;
        meeting: {
            room_code: string;
            title: string;
            company: string | null;
            host: string | null;
            scheduled_at: Date | null;
            status: import("./entities/meeting.entity").MeetingStatus;
            is_recorded: boolean;
        };
        recipient_name: string | null;
        expires_at: Date;
    }>;
    redeem(token: string, dto: RedeemInviteDto): Promise<{
        ok: boolean;
        room_code: string;
        grant_role: string;
        display_name: string;
        meeting_id: number;
        invite_id: number;
        token: string;
    }>;
    resend(token: string): Promise<{
        ok: true;
        sent_to: string;
    }>;
}
