import type { DateTime } from "../tools/types/index.js";
import type { App } from "./app.js";
import { Record as RecordModel } from "./record_model.js";
import { BaseRecordProxy } from "./record_proxy.js";
export declare const CollectionNameOTPs = "_otps";
export declare class OTP extends BaseRecordProxy {
    constructor(record?: RecordModel | null);
    PreValidate(_ctx: unknown, _app: App): Error | null;
    get Id(): string;
    set Id(value: string);
    Collection(): ReturnType<RecordModel["collection"]>;
    CollectionRef(): string;
    SetCollectionRef(collectionId: string): void;
    RecordRef(): string;
    SetRecordRef(recordId: string): void;
    SentTo(): string;
    SetSentTo(value: string): void;
    Created(): DateTime;
    Updated(): DateTime;
    HasExpired(maxElapsedMs: number): boolean;
}
export declare function NewOTP(app: App): OTP;
