import { Request, Response } from 'express';
import { AuthRequest } from '../middleware/auth';
type AutomationKind = 'VISITOR_INVITE' | 'CHECK_IN_CONFIRMATION' | 'VISITOR_REMINDER' | 'APPROVER_REQUEST';
type EmailVisitor = {
    name: string;
    email: string | null;
    mobile: string | null;
    shortId: string;
    visitDate: Date | null;
    visitTime: string | null;
    notes: string | null;
    reasonForVisit: string | null;
    photoUrl?: string | null;
    createdByAdminId?: string | null;
};
export declare function sendVisitorInvite(ownerId: string, visitor: EmailVisitor): Promise<void>;
export declare function sendCheckInConfirmation(ownerId: string, visitor: EmailVisitor): Promise<void>;
export declare function sendVisitReminder(ownerId: string, visitor: EmailVisitor): Promise<void>;
export declare function sendApproverRequest(ownerId: string, visitor: EmailVisitor & {
    id: string;
    assignedAdminId?: string | null;
    assignedApproverId?: string | null;
}, req?: Request): Promise<void>;
export type TemplateStyle = {
    headerBg?: string;
    headerText?: string;
    infoBoxBg?: string;
};
export declare function extractStyle(designJson: unknown): TemplateStyle | undefined;
export declare function renderInviteHtmlPreview(opts: {
    kind: AutomationKind;
    body: string;
    visitor: EmailVisitor;
    hostName: string;
    hostEmail: string;
    visitDate: string;
    visitTime: string;
    style?: TemplateStyle;
}): Promise<string>;
export declare function savePhotoIfDataUrl(photoUrl: string | undefined, shortId: string, req?: Request): Promise<string | null>;
export declare function listVisitors(req: AuthRequest & {
    platformAdminId?: string;
}, res: Response): Promise<void>;
export declare function createVisitor(req: AuthRequest, res: Response): Promise<void>;
export declare function bulkCreateVisitors(req: AuthRequest, res: Response): Promise<void>;
export declare function getOwnerCounts(req: AuthRequest & {
    platformAdminId?: string;
}, res: Response): Promise<void>;
export declare function getVisitorByShortId(req: AuthRequest, res: Response): Promise<void>;
export declare function getVisitor(req: AuthRequest, res: Response): Promise<void>;
export declare function updateVisitor(req: AuthRequest, res: Response): Promise<void>;
export declare function checkoutVisitor(req: AuthRequest, res: Response): Promise<void>;
export declare function getVisitorEditHistory(req: AuthRequest, res: Response): Promise<void>;
export declare function deleteVisitor(req: AuthRequest, res: Response): Promise<void>;
export declare function listVisitorCheckpoints(req: AuthRequest, res: Response): Promise<void>;
export declare function getCheckpointHistory(req: AuthRequest, res: Response): Promise<void>;
export declare function listVisitorWhatsAppTemplates(req: AuthRequest, res: Response): Promise<void>;
export declare function sendVisitorWhatsAppTemplate(req: AuthRequest, res: Response): Promise<void>;
export declare function createVisitorCheckpoint(req: AuthRequest, res: Response): Promise<void>;
export declare function updateVisitorCheckpoint(req: AuthRequest, res: Response): Promise<void>;
export declare function deleteVisitorCheckpoint(req: AuthRequest, res: Response): Promise<void>;
export declare function listVisitorRequests(req: AuthRequest, res: Response): Promise<void>;
export declare function approveVisitorRequest(req: AuthRequest, res: Response): Promise<void>;
export declare function rejectVisitorRequest(req: AuthRequest, res: Response): Promise<void>;
export declare function approveVisitorScan(req: AuthRequest, res: Response): Promise<void>;
export declare function rejectVisitorScan(req: AuthRequest, res: Response): Promise<void>;
export {};
//# sourceMappingURL=visitors.controller.d.ts.map