import { HydratedDocument } from 'mongoose';
export type Channel = 'email' | 'phone';
export type OtpManagementDocument = HydratedDocument<OtpManagement>;
export declare class OtpManagement {
    channel: Channel;
    identifier: string;
    code: string;
    expiresAt: Date;
    attempts: number;
    lockedUntil: Date | null;
    lastSentAt: Date | null;
}
export declare const OtpManagementSchema: import("mongoose").Schema<OtpManagement, import("mongoose").Model<OtpManagement, any, any, any, import("mongoose").Document<unknown, any, OtpManagement, any> & OtpManagement & {
    _id: import("mongoose").Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, OtpManagement, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<OtpManagement>, {}> & import("mongoose").FlatRecord<OtpManagement> & {
    _id: import("mongoose").Types.ObjectId;
} & {
    __v: number;
}>;
