from __future__ import annotations

from dataclasses import dataclass
from pathlib import Path


@dataclass
class MountEntry:
    source: Path
    service: str = "unknown"
    target: str = "unknown"
    classification: str = "unknown"
    reason: str = ""
    exists: bool = False


@dataclass
class ValidationResult:
    missing: list[MountEntry]
    present: list[MountEntry]


@dataclass
class BorgSettings:
    repo: str
    archive_name: str
    passphrase_present: bool
    automation: bool
    auto_init_repo: bool
    encryption: str
    quiet: bool = False
