package collector

import (
	"context"

	"git.mchus.pro/mchus/logpile/internal/models"
)

type Request struct {
	Host     string
	Protocol string
	Port     int
	Username string
	AuthType string
	Password string
	Token    string
	TLSMode  string
}

type Progress struct {
	Status   string
	Progress int
	Message  string
}

type ProgressFn func(Progress)

type Connector interface {
	Protocol() string
	Collect(ctx context.Context, req Request, emit ProgressFn) (*models.AnalysisResult, error)
}
