"""Data models for keystore."""

from dataclasses import dataclass
from datetime import datetime
from pathlib import Path


@dataclass
class IdentityInfo:
    """Verisoo Ed25519 identity summary."""

    fingerprint: str
    public_key_pem: str
    created_at: datetime | None = None
    has_private_key: bool = False


@dataclass
class KeystoreStatus:
    """Overview of all managed key material."""

    has_identity: bool
    identity_fingerprint: str | None
    has_channel_key: bool
    channel_fingerprint: str | None


@dataclass
class RotationResult:
    """Result of a key rotation operation."""

    old_fingerprint: str | None
    new_fingerprint: str | None
    archive_path: Path
