# This file is auto-generated by PrototypeX stub generator.
# Do not edit manually - changes will be overwritten.
# Regenerate using: python -m scripts.genstubs gen

from __future__ import annotations

import datetime

from audex.entity import BaseEntity
from audex.valueobj.session import SessionStatus

class Session(BaseEntity):
    id: str
    created_at: datetime.datetime
    updated_at: datetime.datetime | None
    doctor_id: str
    patient_name: str | None
    clinic_number: str | None
    medical_record_number: str | None
    diagnosis: str | None
    status: SessionStatus
    started_at: datetime.datetime | None
    ended_at: datetime.datetime | None
    notes: str | None
    def __init__(
        self,
        *,
        id: str = ...,
        created_at: datetime.datetime = ...,
        updated_at: datetime.datetime | None = None,
        doctor_id: str,
        patient_name: str | None = None,
        clinic_number: str | None = None,
        medical_record_number: str | None = None,
        diagnosis: str | None = None,
        status: SessionStatus = ...,
        started_at: datetime.datetime | None = None,
        ended_at: datetime.datetime | None = None,
        notes: str | None = None,
    ) -> None: ...
    @property
    def is_active(self) -> bool: ...
    @property
    def is_finished(self) -> bool: ...
    def cancel(self) -> None: ...
    def complete(self) -> None: ...
    def start(self) -> None: ...
