# SPDX-FileCopyrightText: 2025 BlueZoo developers
# SPDX-License-Identifier: GPL-2.0-only
#
# This file is generated by scripts/bluez-interfaces.py
#
# Do not edit this file manually.
#

import sdbus


class GattCharacteristicInterface(
        sdbus.DbusInterfaceCommonAsync,
        interface_name='org.bluez.GattCharacteristic1'):

    @sdbus.dbus_method_async(
        input_signature='a{sv}',
        input_args_names=['options'],
        result_signature='ay',
        result_args_names=['r0'],
        flags=sdbus.DbusUnprivilegedFlag)
    async def ReadValue(
        self,
        options: dict[str, tuple[str, object]]
    ) -> bytes:
        raise NotImplementedError

    @sdbus.dbus_method_async(
        input_signature='aya{sv}',
        input_args_names=['value', 'options'],
        result_signature='',
        result_args_names=[],
        flags=sdbus.DbusUnprivilegedFlag)
    async def WriteValue(
        self,
        value: bytes,
        options: dict[str, tuple[str, object]]
    ) -> None:
        raise NotImplementedError

    @sdbus.dbus_method_async(
        input_signature='a{sv}',
        input_args_names=['options'],
        result_signature='hq',
        result_args_names=['r0', 'r1'],
        flags=sdbus.DbusUnprivilegedFlag)
    async def AcquireWrite(
        self,
        options: dict[str, tuple[str, object]]
    ) -> tuple[int, int]:
        raise NotImplementedError

    @sdbus.dbus_method_async(
        input_signature='a{sv}',
        input_args_names=['options'],
        result_signature='hq',
        result_args_names=['r0', 'r1'],
        flags=sdbus.DbusUnprivilegedFlag)
    async def AcquireNotify(
        self,
        options: dict[str, tuple[str, object]]
    ) -> tuple[int, int]:
        raise NotImplementedError

    @sdbus.dbus_method_async(
        input_signature='',
        input_args_names=[],
        result_signature='',
        result_args_names=[],
        flags=sdbus.DbusUnprivilegedFlag)
    async def StartNotify(
        self
    ) -> None:
        raise NotImplementedError

    @sdbus.dbus_method_async(
        input_signature='',
        input_args_names=[],
        result_signature='',
        result_args_names=[],
        flags=sdbus.DbusUnprivilegedFlag)
    async def StopNotify(
        self
    ) -> None:
        raise NotImplementedError

    @sdbus.dbus_method_async(
        input_signature='',
        input_args_names=[],
        result_signature='',
        result_args_names=[],
        flags=sdbus.DbusUnprivilegedFlag)
    async def Confirm(
        self
    ) -> None:
        raise NotImplementedError

    @sdbus.dbus_property_async(
        property_signature='s',
        flags=sdbus.DbusPropertyEmitsChangeFlag)
    def UUID(self) -> str:
        raise NotImplementedError

    @sdbus.dbus_property_async(
        property_signature='o',
        flags=sdbus.DbusPropertyEmitsChangeFlag)
    def Service(self) -> str:
        raise NotImplementedError

    @sdbus.dbus_property_async(
        property_signature='ay',
        flags=sdbus.DbusPropertyEmitsChangeFlag)
    def Value(self) -> bytes:
        raise NotImplementedError

    @sdbus.dbus_property_async(
        property_signature='b',
        flags=sdbus.DbusPropertyEmitsChangeFlag)
    def WriteAcquired(self) -> bool:
        raise NotImplementedError

    @sdbus.dbus_property_async(
        property_signature='b',
        flags=sdbus.DbusPropertyEmitsChangeFlag)
    def NotifyAcquired(self) -> bool:
        raise NotImplementedError

    @sdbus.dbus_property_async(
        property_signature='b',
        flags=sdbus.DbusPropertyEmitsChangeFlag)
    def Notifying(self) -> bool:
        raise NotImplementedError

    @sdbus.dbus_property_async(
        property_signature='as',
        flags=sdbus.DbusPropertyEmitsChangeFlag)
    def Flags(self) -> list[str]:
        raise NotImplementedError

    @sdbus.dbus_property_async(
        property_signature='q',
        flags=sdbus.DbusPropertyEmitsChangeFlag)
    def Handle(self) -> int:
        raise NotImplementedError

    @sdbus.dbus_property_async(
        property_signature='q',
        flags=sdbus.DbusPropertyEmitsChangeFlag)
    def MTU(self) -> int:
        raise NotImplementedError
