import { FlinkRepo } from "@flink-app/flink"; import OAuthSession from "../schemas/OAuthSession"; /** * Repository for managing temporary OAuth session state with TTL. * Sessions are used during the OAuth authorization code flow to prevent CSRF attacks. */ declare class OAuthSessionRepo extends FlinkRepo { /** * Find an OAuth session by its unique session ID. * @param sessionId - The unique session identifier * @returns The OAuth session if found, null otherwise */ findBySessionId(sessionId: string): Promise; /** * Delete an OAuth session by its unique session ID. * Used after the OAuth callback is processed to prevent session reuse. * @param sessionId - The unique session identifier * @returns The number of deleted sessions (0 or 1) */ deleteBySessionId(sessionId: string): Promise; } export default OAuthSessionRepo;