// Code generated by sqlc. DO NOT EDIT.
// versions:
//   sqlc v1.30.0

package db

import (
	"context"
)

type Querier interface {
	CreateFile(ctx context.Context, arg CreateFileParams) (File, error)
	CreateMessage(ctx context.Context, arg CreateMessageParams) (Message, error)
	CreateSession(ctx context.Context, arg CreateSessionParams) (Session, error)
	DeleteFile(ctx context.Context, id string) error
	DeleteMessage(ctx context.Context, id string) error
	DeleteSession(ctx context.Context, id string) error
	DeleteSessionFiles(ctx context.Context, sessionID string) error
	DeleteSessionMessages(ctx context.Context, sessionID string) error
	GetAverageResponseTime(ctx context.Context) (int64, error)
	GetFile(ctx context.Context, id string) (File, error)
	GetFileByPathAndSession(ctx context.Context, arg GetFileByPathAndSessionParams) (File, error)
	GetFileRead(ctx context.Context, arg GetFileReadParams) (ReadFile, error)
	GetHourDayHeatmap(ctx context.Context) ([]GetHourDayHeatmapRow, error)
	GetMessage(ctx context.Context, id string) (Message, error)
	GetRecentActivity(ctx context.Context) ([]GetRecentActivityRow, error)
	GetSessionByID(ctx context.Context, id string) (Session, error)
	GetToolUsage(ctx context.Context) ([]GetToolUsageRow, error)
	GetTotalStats(ctx context.Context) (GetTotalStatsRow, error)
	GetUsageByDay(ctx context.Context) ([]GetUsageByDayRow, error)
	GetUsageByDayOfWeek(ctx context.Context) ([]GetUsageByDayOfWeekRow, error)
	GetUsageByHour(ctx context.Context) ([]GetUsageByHourRow, error)
	GetUsageByModel(ctx context.Context) ([]GetUsageByModelRow, error)
	ListAllUserMessages(ctx context.Context) ([]Message, error)
	ListFilesByPath(ctx context.Context, path string) ([]File, error)
	ListFilesBySession(ctx context.Context, sessionID string) ([]File, error)
	ListLatestSessionFiles(ctx context.Context, sessionID string) ([]File, error)
	ListMessagesBySession(ctx context.Context, sessionID string) ([]Message, error)
	ListNewFiles(ctx context.Context) ([]File, error)
	ListSessionReadFiles(ctx context.Context, sessionID string) ([]ReadFile, error)
	ListSessions(ctx context.Context) ([]Session, error)
	ListUserMessagesBySession(ctx context.Context, sessionID string) ([]Message, error)
	RecordFileRead(ctx context.Context, arg RecordFileReadParams) error
	UpdateMessage(ctx context.Context, arg UpdateMessageParams) error
	UpdateSession(ctx context.Context, arg UpdateSessionParams) (Session, error)
	UpdateSessionTitleAndUsage(ctx context.Context, arg UpdateSessionTitleAndUsageParams) error
}

var _ Querier = (*Queries)(nil)
