import { ServiceContainer } from "../services/ServiceContainer";
import type { AuthenticationServiceProvider } from "./AuthenticationServiceProvider";
export declare class AuthenticationServiceContainer extends ServiceContainer {
    provider: AuthenticationServiceProvider;
    static _name: string;
    constructor(provider: AuthenticationServiceProvider);
    getSession(token: string, userAgent: string): Promise<import("./adapters/types").SessionWithUser>;
    generateMagicLink(email: string): Promise<void>;
    upsertSession(params: {
        email: string;
        userAgent: string;
    }): Promise<void>;
    authenticate(email: string): Promise<import("./adapters/types").SessionWithUser>;
    createOrUpdateSessionV2(user: {
        email: string;
        id?: number;
    }): Promise<import("./adapters/types").SessionWithUser>;
    createOrUpdateSession(user: {
        email: string;
        id?: number;
    }): Promise<import("./adapters/types").SessionWithUser>;
    createMagicLinkToken(email: string): Promise<{
        user: import("./adapters/types").User;
        email: string;
        pin: string;
        token: string;
    } | {
        user?: undefined;
        email?: undefined;
        pin?: undefined;
        token?: undefined;
    }>;
}
//# sourceMappingURL=AuthenticationServiceContainer.d.ts.map