import type { Handle } from '@sveltejs/kit';
import { type GuardianAuthConfig } from '../types/config';
export declare class GuardianAuth {
    private config;
    private logger;
    private adapter;
    constructor(userConfig?: Partial<GuardianAuthConfig>);
    private createProviders;
    private createMiddleware;
    init(): Promise<{
        middleware: Handle;
        createUser: (data: any) => Promise<{
            success: boolean;
            error?: undefined;
        } | {
            success: boolean;
            error: any;
        } | {
            success: boolean;
            user: import("@auth/core/adapters").AdapterUser;
        }>;
        handle: Handle;
        signIn: import("@sveltejs/kit").Action;
        signOut: import("@sveltejs/kit").Action;
    }>;
    updateConfig(newConfig: Partial<GuardianAuthConfig>): void;
}
export declare const guardianAuth: (config?: Partial<GuardianAuthConfig>) => Promise<{
    middleware: Handle;
    createUser: (data: any) => Promise<{
        success: boolean;
        error?: undefined;
    } | {
        success: boolean;
        error: any;
    } | {
        success: boolean;
        user: import("@auth/core/adapters").AdapterUser;
    }>;
    handle: Handle;
    signIn: import("@sveltejs/kit").Action;
    signOut: import("@sveltejs/kit").Action;
}>;
