import { Context, Effect, Layer } from "effect"; import { AuthService } from "../services/AuthService.js"; import { AuthError, AuthResponse, DatabaseError, LoginRequest, RegisterRequest, User, ValidationError } from "../../../shared/types.js"; export interface RegisterResult { user: { id: string; username: string; email: string; emailVerified: boolean; }; } export interface LoginResult extends AuthResponse { } export interface MeResult { user: { id: string; username: string; email: string; emailVerified: boolean; createdAt: number; lastLoginAt: number | null; }; } declare const AuthController_base: Context.TagClass Effect.Effect; readonly login: (data: LoginRequest, ipAddress?: string | null, userAgent?: string | null) => Effect.Effect; readonly logout: (sessionId: string, userId: string) => Effect.Effect; readonly me: (user: User) => Effect.Effect; }>; export declare class AuthController extends AuthController_base { static Live: Layer.Layer; } export {}; //# sourceMappingURL=AuthController.d.ts.map