<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT! (protoc-gen-twirp_php 0.15.0)
# source: livekit_sip.proto

declare(strict_types=1);

namespace Livekit;

/**
 *
 *
 * Generated from protobuf service <code>livekit.SIP</code>
 */
interface SIP
{
    /**
     *
     *
     * Generated from protobuf method <code>livekit.SIP/ListSIPTrunk</code>
     *
     * @throws \Twirp\Error
     */
    public function ListSIPTrunk(array $ctx, \Livekit\ListSIPTrunkRequest $req): \Livekit\ListSIPTrunkResponse;

    /**
     *
     *
     * Generated from protobuf method <code>livekit.SIP/CreateSIPInboundTrunk</code>
     *
     * @throws \Twirp\Error
     */
    public function CreateSIPInboundTrunk(array $ctx, \Livekit\CreateSIPInboundTrunkRequest $req): \Livekit\SIPInboundTrunkInfo;

    /**
     *
     *
     * Generated from protobuf method <code>livekit.SIP/CreateSIPOutboundTrunk</code>
     *
     * @throws \Twirp\Error
     */
    public function CreateSIPOutboundTrunk(array $ctx, \Livekit\CreateSIPOutboundTrunkRequest $req): \Livekit\SIPOutboundTrunkInfo;

    /**
     *
     *
     * Generated from protobuf method <code>livekit.SIP/UpdateSIPInboundTrunk</code>
     *
     * @throws \Twirp\Error
     */
    public function UpdateSIPInboundTrunk(array $ctx, \Livekit\UpdateSIPInboundTrunkRequest $req): \Livekit\SIPInboundTrunkInfo;

    /**
     *
     *
     * Generated from protobuf method <code>livekit.SIP/UpdateSIPOutboundTrunk</code>
     *
     * @throws \Twirp\Error
     */
    public function UpdateSIPOutboundTrunk(array $ctx, \Livekit\UpdateSIPOutboundTrunkRequest $req): \Livekit\SIPOutboundTrunkInfo;

    /**
     *
     *
     * Generated from protobuf method <code>livekit.SIP/GetSIPInboundTrunk</code>
     *
     * @throws \Twirp\Error
     */
    public function GetSIPInboundTrunk(array $ctx, \Livekit\GetSIPInboundTrunkRequest $req): \Livekit\GetSIPInboundTrunkResponse;

    /**
     *
     *
     * Generated from protobuf method <code>livekit.SIP/GetSIPOutboundTrunk</code>
     *
     * @throws \Twirp\Error
     */
    public function GetSIPOutboundTrunk(array $ctx, \Livekit\GetSIPOutboundTrunkRequest $req): \Livekit\GetSIPOutboundTrunkResponse;

    /**
     *
     *
     * Generated from protobuf method <code>livekit.SIP/ListSIPInboundTrunk</code>
     *
     * @throws \Twirp\Error
     */
    public function ListSIPInboundTrunk(array $ctx, \Livekit\ListSIPInboundTrunkRequest $req): \Livekit\ListSIPInboundTrunkResponse;

    /**
     *
     *
     * Generated from protobuf method <code>livekit.SIP/ListSIPOutboundTrunk</code>
     *
     * @throws \Twirp\Error
     */
    public function ListSIPOutboundTrunk(array $ctx, \Livekit\ListSIPOutboundTrunkRequest $req): \Livekit\ListSIPOutboundTrunkResponse;

    /**
     *
     *
     * Generated from protobuf method <code>livekit.SIP/DeleteSIPTrunk</code>
     *
     * @throws \Twirp\Error
     */
    public function DeleteSIPTrunk(array $ctx, \Livekit\DeleteSIPTrunkRequest $req): \Livekit\SIPTrunkInfo;

    /**
     *
     *
     * Generated from protobuf method <code>livekit.SIP/CreateSIPDispatchRule</code>
     *
     * @throws \Twirp\Error
     */
    public function CreateSIPDispatchRule(array $ctx, \Livekit\CreateSIPDispatchRuleRequest $req): \Livekit\SIPDispatchRuleInfo;

    /**
     *
     *
     * Generated from protobuf method <code>livekit.SIP/UpdateSIPDispatchRule</code>
     *
     * @throws \Twirp\Error
     */
    public function UpdateSIPDispatchRule(array $ctx, \Livekit\UpdateSIPDispatchRuleRequest $req): \Livekit\SIPDispatchRuleInfo;

    /**
     *
     *
     * Generated from protobuf method <code>livekit.SIP/ListSIPDispatchRule</code>
     *
     * @throws \Twirp\Error
     */
    public function ListSIPDispatchRule(array $ctx, \Livekit\ListSIPDispatchRuleRequest $req): \Livekit\ListSIPDispatchRuleResponse;

    /**
     *
     *
     * Generated from protobuf method <code>livekit.SIP/DeleteSIPDispatchRule</code>
     *
     * @throws \Twirp\Error
     */
    public function DeleteSIPDispatchRule(array $ctx, \Livekit\DeleteSIPDispatchRuleRequest $req): \Livekit\SIPDispatchRuleInfo;

    /**
     *
     *
     * Generated from protobuf method <code>livekit.SIP/CreateSIPParticipant</code>
     *
     * @throws \Twirp\Error
     */
    public function CreateSIPParticipant(array $ctx, \Livekit\CreateSIPParticipantRequest $req): \Livekit\SIPParticipantInfo;

    /**
     *
     *
     * Generated from protobuf method <code>livekit.SIP/TransferSIPParticipant</code>
     *
     * @throws \Twirp\Error
     */
    public function TransferSIPParticipant(array $ctx, \Livekit\TransferSIPParticipantRequest $req): \Google\Protobuf\GPBEmpty;
}
