class AuditlogJournal(abc.ABC):
    __slots__: typing.Sequence[str] = ()
    @property
    @abc.abstractmethod
    def max_records(self) -> typing.Optional[int]:
        ...
    @abc.abstractmethod
    def set_max_records(self, value: typing.Optional[int], /) -> None:
        ...
    @abc.abstractmethod
    def append_entries(
        self,
        entries: typing.Sequence[domain_auditlog_entry.MigrationAuditlogEntry],
    ) -> None:
        ...
    @abc.abstractmethod
    def load_entries(
        self, limit: typing.Optional[int] = None
    ) -> typing.Sequence[domain_auditlog_entry.MigrationAuditlogEntry]:
        ...
    @abc.abstractmethod
    def history(
        self,
        start: typing.Optional[datetime.datetime] = None,
        end: typing.Optional[datetime.datetime] = None,
        limit: typing.Optional[int] = None,
        ascending_date: bool = True,
    ) -> typing.Iterator[domain_auditlog_entry.MigrationAuditlogEntry]:
        ...