import type { Adapter } from '@auth/core/adapters';
import type { EmailVerificationOptions } from '../types/config';
import type { EmailProviderConfig } from '../email/types';
export declare class EmailVerificationService {
    private options;
    private adapter;
    private emailProvider;
    constructor(options: EmailVerificationOptions, adapter: Adapter, emailProvider: EmailProviderConfig);
    private generateOTP;
    sendOTP(email: string): Promise<string>;
    sendMagicLink(email: string): Promise<string>;
    verifyOTP(email: string, otp: string): Promise<{
        success: boolean;
        error?: string;
    }>;
}
export declare const getVerifyEmailActions: (options: EmailVerificationOptions, adapter: Adapter, emailProvider: EmailProviderConfig) => {
    sendOTP: ({ request }: import("@sveltejs/kit").RequestEvent<Partial<Record<string, string>>, string | null>) => Promise<{
        success: boolean;
        error?: undefined;
    } | {
        success: boolean;
        error: any;
    }>;
    sendMagicLink: ({ request }: import("@sveltejs/kit").RequestEvent<Partial<Record<string, string>>, string | null>) => Promise<{
        success: boolean;
        error?: undefined;
    } | {
        success: boolean;
        error: any;
    }>;
    verifyOTP: ({ request }: import("@sveltejs/kit").RequestEvent<Partial<Record<string, string>>, string | null>) => Promise<{
        success: {
            success: boolean;
            error?: string;
        };
        error?: undefined;
    } | {
        success: boolean;
        error: any;
    }>;
};
