import { Types } from 'mongoose';
import { HydratedDocument } from 'mongoose';
export declare enum OtpScope {
    COMPANY_CLIENT_VERIFY = "COMPANY_CLIENT_VERIFY",
    AGENT_CUSTOMER_VERIFY = "AGENT_CUSTOMER_VERIFY",
    CONTINUE_WITH_PHONE = "CONTINUE_WITH_PHONE"
}
export declare class Otp {
    name: string;
    country_code: string;
    phone: string;
    email: string;
    otp: string;
    scope: OtpScope;
    expires_at: Date;
    is_verified: boolean;
}
export type OtpDocument = HydratedDocument<Otp>;
export declare const OtpSchema: import("mongoose").Schema<Otp, import("mongoose").Model<Otp, any, any, any, import("mongoose").Document<unknown, any, Otp, any, {}> & Otp & {
    _id: Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, Otp, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<Otp>, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & import("mongoose").FlatRecord<Otp> & {
    _id: Types.ObjectId;
} & {
    __v: number;
}>;
