1: <?php
2:
3: declare(strict_types=1);
4:
5: /*
6: * This file has been auto generated by Jane,
7: *
8: * Do no edit it directly.
9: */
10:
11: namespace NxSys\Library\Clients\Brex\API\Budgets\Runtime\Client;
12:
13: use Psr\Http\Message\ResponseInterface;
14: use Symfony\Component\Serializer\SerializerInterface;
15:
16: interface Endpoint
17: {
18: /**
19: * Get body for an endpoint.
20: *
21: * Return value consist of an array where the first item will be a list of headers to add on the request (like the Content Type)
22: * And the second value consist of the body object.
23: */
24: public function getBody(SerializerInterface $serializer, $streamFactory = null): array;
25:
26: /**
27: * Get the query string of an endpoint without the starting ? (like foo=foo&bar=bar).
28: */
29: public function getQueryString(): string;
30:
31: /**
32: * Get the URI of an endpoint (like /foo-uri).
33: */
34: public function getUri(): string;
35:
36: /**
37: * Get the HTTP method of an endpoint (like GET, POST, ...).
38: */
39: public function getMethod(): string;
40:
41: /**
42: * Get the headers of an endpoint.
43: */
44: public function getHeaders(array $baseHeaders = []): array;
45:
46: /**
47: * Get security scopes of an endpoint.
48: */
49: public function getAuthenticationScopes(): array;
50:
51: /**
52: * Parse and transform a PSR7 Response into a different object.
53: *
54: * Implementations may vary depending the status code of the response and the fetch mode used.
55: */
56: public function parseResponse(ResponseInterface $response, SerializerInterface $serializer, string $fetchMode = Client::FETCH_OBJECT);
57: }
58: