#  Copyright 2026 Synnax Labs, Inc.
#
#  Use of this software is governed by the Business Source License included in the file
#  licenses/BSL.txt.
#
#  As of the Change Date specified in that file, in accordance with the Business Source
#  License, use of this software will be governed by the Apache License, Version 2.0,
#  included in the file licenses/APL.txt.

from synnax.task.client import (
    BaseConfig,
    BaseReadConfig,
    BaseWriteConfig,
    Client,
    JSONConfigMixin,
    Protocol,
    StarterStopperMixin,
    Task,
)
from synnax.task.payload import Payload, Status, StatusDetails
from synnax.util.deprecation import deprecated_getattr

_DEPRECATED = {
    "TaskPayload": "Payload",
    "TaskStatus": "Status",
    "TaskStatusDetails": "StatusDetails",
    "BaseTaskConfig": "BaseConfig",
    "BaseReadTaskConfig": "BaseReadConfig",
    "BaseWriteTaskConfig": "BaseWriteConfig",
    "TaskProtocol": "Protocol",
}

__getattr__ = deprecated_getattr(__name__, _DEPRECATED, globals())

__all__ = [
    "Client",
    "Task",
    "Payload",
    "Status",
    "StatusDetails",
    "BaseConfig",
    "BaseReadConfig",
    "BaseWriteConfig",
    "JSONConfigMixin",
    "StarterStopperMixin",
    "Protocol",
]
