import type { Session } from '../../store/session-store.interface.js'; export interface CreateSessionRequest { user_id: string; username: string; roles?: string[]; data?: Record; metadata?: Record; ttl_seconds?: number; } export interface GetSessionRequest { session_id: string; } export interface UpdateSessionRequest { session_id: string; data?: Record; extend_ttl?: boolean; ttl_seconds?: number; } export interface DeleteSessionRequest { session_id: string; } export interface RefreshSessionRequest { refresh_token: string; } export interface ListSessionsRequest { user_id?: string; active_only?: boolean; page_size?: number; page_token?: string; session_ids?: string[]; } export interface ValidateSessionRequest { session_id: string; access_token: string; } export interface SessionProto { id: string; user_id: string; username: string; roles: string[]; data: Record; created_at: string; updated_at: string; expires_at: string; last_accessed_at: string; } export interface CreateSessionResponse { session: SessionProto; access_token: string; refresh_token: string; } export interface GetSessionResponse { session: SessionProto; } export interface UpdateSessionResponse { session: SessionProto; } export interface DeleteSessionResponse { success: boolean; } export interface RefreshSessionResponse { access_token: string; refresh_token: string; session: SessionProto; } export interface ListSessionsResponse { sessions: SessionProto[]; next_page_token?: string; total_count: number; not_found?: string[]; } export interface ValidateSessionResponse { valid: boolean; session?: SessionProto; user_id?: string; username?: string; roles?: string[]; } export type SessionMapper = (session: Session) => SessionProto; //# sourceMappingURL=session.types.d.ts.map