1package proto23import "golang.org/x/crypto/ssh"45// User is an interface representing a user.6type User interface {7 // ID returns the user's ID.8 ID() int649 // Username returns the user's username.10 Username() string11 // IsAdmin returns whether the user is an admin.12 IsAdmin() bool13 // PublicKeys returns the user's public keys.14 PublicKeys() []ssh.PublicKey15 // Password returns the user's password hash.16 Password() string17}1819// UserOptions are options for creating a user.20type UserOptions struct {21 // Admin is whether the user is an admin.22 Admin bool23 // PublicKeys are the user's public keys.24 PublicKeys []ssh.PublicKey25}