/** * Example usage of authentication services * * This file demonstrates how to use all authentication services together * following Effect-TS patterns from the ccviewer codebase. */ import { Effect, Layer } from "effect"; import { DatabaseService } from "../../database/db.js"; import { PasswordService, TokenService, UserRepository, SessionRepository, AuditLogService } from "./index.js"; export declare const registerUser: (username: string, email: string, password: string, linuxUsername: string, ipAddress: string | null, userAgent: string | null) => Effect.Effect; export declare const loginUser: (email: string, password: string, ipAddress: string | null, userAgent: string | null) => Effect.Effect<{ user: import("../../../shared/types.js").User; token: string; session: import("../../../shared/types.js").Session; }, import("../../../shared/types.js").AuthError | import("../../../shared/types.js").DatabaseError | Error, PasswordService | TokenService | UserRepository | SessionRepository | AuditLogService>; export declare const verifyToken: (token: string) => Effect.Effect<{ user: import("../../../shared/types.js").User; session: import("../../../shared/types.js").Session; payload: import("../../../shared/types.js").JWTPayload; }, import("../../../shared/types.js").AuthError | import("../../../shared/types.js").DatabaseError | Error, TokenService | UserRepository | SessionRepository>; export declare const logoutUser: (token: string) => Effect.Effect<{ success: boolean; }, import("../../../shared/types.js").AuthError | import("../../../shared/types.js").DatabaseError | Error, TokenService | SessionRepository | AuditLogService>; export declare const AuthenticationLayer: Layer.Layer; export declare const runAuthExample: () => Promise; //# sourceMappingURL=example.d.ts.map