1package session
2
3import (
4 tea "github.com/charmbracelet/bubbletea"
5 appCfg "github.com/charmbracelet/soft-serve/config"
6 "github.com/charmbracelet/soft-serve/ui/git"
7 "github.com/gliderlabs/ssh"
8)
9
10// Session is a interface representing a UI session.
11type Session interface {
12 // Send sends a message to the parent Bubble Tea program.
13 Send(tea.Msg)
14 // Config returns the app configuration.
15 Config() *appCfg.Config
16 // PublicKey returns the public key of the user.
17 PublicKey() ssh.PublicKey
18 Session() ssh.Session
19 Source() git.GitRepoSource
20}