···11+import { CommonSourceConfig, CommonSourceData } from "./index.js";
22+33+export interface ListenbrainzEndpointData extends CommonSourceData {
44+ /**
55+ * The URL ending that should be used to identify scrobbles for this source
66+ *
77+ * If you are using multiple Listenbrainz endpoint sources (scrobbles for many users) you can use a slug to match Sources with individual users/origins
88+ *
99+ * Example:
1010+ *
1111+ * * slug: 'usera' => API URL: http://localhost:9078/api/listenbrainz/usera
1212+ * * slug: 'originb' => API URL: http://localhost:9078/api/listenbrainz/originb
1313+ *
1414+ * If no slug is found from an extension's incoming webhook event the first Listenbrainz source without a slug will be used
1515+ * */
1616+ slug?: string | null
1717+1818+ /**
1919+ * If an LZ submission request contains this token in the Authorization Header it will be used to match the submission with this Source
2020+ *
2121+ * See: https://listenbrainz.readthedocs.io/en/latest/users/api/index.html#add-the-user-token-to-your-requests
2222+ * */
2323+ token?: string | null
2424+}
2525+2626+export interface ListenbrainzEndpointSourceConfig extends CommonSourceConfig {
2727+ data?: ListenbrainzEndpointData
2828+}
2929+3030+export interface ListenbrainzEndpointSourceAIOConfig extends ListenbrainzEndpointSourceConfig {
3131+ type: 'endpointlz'
3232+}