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

package db

import (
	"context"
)

type Querier interface {
	AddBotCoOwner(ctx context.Context, arg AddBotCoOwnerParams) error
	CanVoteAgain(ctx context.Context, arg CanVoteAgainParams) (bool, error)
	CountBotsByUsername(ctx context.Context, arg CountBotsByUsernameParams) (int64, error)
	CountVotesByBot(ctx context.Context, botID string) (int64, error)
	CreateBot(ctx context.Context, arg CreateBotParams) (*Bot, error)
	CreateSession(ctx context.Context, arg CreateSessionParams) (*Session, error)
	CreateUser(ctx context.Context, arg CreateUserParams) (*User, error)
	CreateVote(ctx context.Context, arg CreateVoteParams) (*Vote, error)
	DeleteBot(ctx context.Context, id string) error
	DeleteUser(ctx context.Context, id string) error
	GetBot(ctx context.Context, id string) (*Bot, error)
	GetBotCoOwner(ctx context.Context, arg GetBotCoOwnerParams) (*BotCoOwner, error)
	GetSession(ctx context.Context, id string) (*Session, error)
	GetUser(ctx context.Context, id string) (*User, error)
	GetUserByUsername(ctx context.Context, username string) (*User, error)
	GetVote(ctx context.Context, arg GetVoteParams) (*Vote, error)
	ListBots(ctx context.Context, arg ListBotsParams) ([]*Bot, error)
	ListBotsByCoOwner(ctx context.Context, userID string) ([]*Bot, error)
	ListBotsByOwner(ctx context.Context, arg ListBotsByOwnerParams) ([]*Bot, error)
	ListBotsByStatus(ctx context.Context, arg ListBotsByStatusParams) ([]*Bot, error)
	ListCoOwnersByBot(ctx context.Context, botID string) ([]*User, error)
	ListUsers(ctx context.Context) ([]*User, error)
	ListVotesByBot(ctx context.Context, botID string) ([]*Vote, error)
	ListVotesByUser(ctx context.Context, userID string) ([]*Vote, error)
	RemoveAllCoOwnersByBot(ctx context.Context, botID string) error
	RemoveBotCoOwner(ctx context.Context, arg RemoveBotCoOwnerParams) error
	RevokeAllUserSessions(ctx context.Context, userID string) error
	RevokeSession(ctx context.Context, id string) error
	SearchBotsByUsername(ctx context.Context, arg SearchBotsByUsernameParams) ([]*Bot, error)
	UpdateBot(ctx context.Context, arg UpdateBotParams) (*Bot, error)
	UpdateBotStatus(ctx context.Context, arg UpdateBotStatusParams) (*Bot, error)
	UpdateUser(ctx context.Context, arg UpdateUserParams) (*User, error)
}

var _ Querier = (*Queries)(nil)
