import { Context, Effect, Layer } from "effect"; import { DatabaseService } from "../../database/db.js"; import { DatabaseError, Session } from "../../../shared/types.js"; export interface CreateSessionData { userId: string; tokenHash: string; ipAddress: string | null; userAgent: string | null; expiresAt: number; } declare const SessionRepository_base: Context.TagClass Effect.Effect; readonly findById: (id: string) => Effect.Effect; readonly findByTokenHash: (tokenHash: string) => Effect.Effect; readonly updateTokenHash: (id: string, tokenHash: string) => Effect.Effect; readonly revoke: (id: string) => Effect.Effect; readonly revokeAllForUser: (userId: string) => Effect.Effect; readonly deleteExpired: () => Effect.Effect; }>; export declare class SessionRepository extends SessionRepository_base { static Live: Layer.Layer; } export {}; //# sourceMappingURL=SessionRepository.d.ts.map