/// /// /// /// /** * Type Definitions for Gjs (https://gjs.guide/) * * These type definitions are automatically generated, do not edit them by hand. * If you found a bug fix it in `ts-for-gir` or create a bug report on https://github.com/gjsify/ts-for-gir * * The based EJS template file is used for the generated .d.ts file of each GIR module like Gtk-4.0, GObject-2.0, ... */ declare module 'gi://GstSdp?version=1.0' { // Module dependencies import type Gst from 'gi://Gst?version=1.0'; import type GObject from 'gi://GObject?version=2.0'; import type GLib from 'gi://GLib?version=2.0'; import type GModule from 'gi://GModule?version=2.0'; export namespace GstSdp { /** * GstSdp-1.0 */ /** * The different cache types */ /** * The different cache types */ export namespace MIKEYCacheType { export const $gtype: GObject.GType; } enum MIKEYCacheType { /** * The envelope key MUST NOT be cached */ NONE, /** * The envelope key MUST be cached */ ALWAYS, /** * The envelope key MUST be cached, but only * to be used for the specific CSB. */ FOR_CSB, } /** * The encryption algorithm used to encrypt the Encr data field */ /** * The encryption algorithm used to encrypt the Encr data field */ export namespace MIKEYEncAlg { export const $gtype: GObject.GType; } enum MIKEYEncAlg { /** * no encryption */ NULL, /** * AES-CM using a 128-bit key */ AES_CM_128, /** * AES Key Wrap using a 128-bit key */ AES_KW_128, /** * AES-GCM using a 128-bit key (Since: 1.16) */ AES_GCM_128, } /** * The key validity type */ /** * The key validity type */ export namespace MIKEYKVType { export const $gtype: GObject.GType; } enum MIKEYKVType { /** * No specific usage rule */ NULL, /** * The key is associated with the SPI/MKI */ SPI, /** * The key has a start and expiration time */ INTERVAL, } /** * The type of key. */ /** * The type of key. */ export namespace MIKEYKeyDataType { export const $gtype: GObject.GType; } enum MIKEYKeyDataType { /** * a TEK Generation Key */ TGK, /** * Traffic-Encrypting Key */ TEK, } /** * Specifies the authentication algorithm used */ /** * Specifies the authentication algorithm used */ export namespace MIKEYMacAlg { export const $gtype: GObject.GType; } enum MIKEYMacAlg { /** * no authentication */ NULL, /** * HMAC-SHA-1-160 */ HMAC_SHA_1_160, } /** * Specifies the method of uniquely mapping Crypto Sessions to the security * protocol sessions. */ /** * Specifies the method of uniquely mapping Crypto Sessions to the security * protocol sessions. */ export namespace MIKEYMapType { export const $gtype: GObject.GType; } enum MIKEYMapType { /** * SRTP */ MIKEY_MAP_TYPE_SRTP, } /** * The PRF function that has been/will be used for key derivation */ /** * The PRF function that has been/will be used for key derivation */ export namespace MIKEYPRFFunc { export const $gtype: GObject.GType; } enum MIKEYPRFFunc { /** * MIKEY-1 PRF function */ MIKEY_PRF_MIKEY_1, } /** * Different MIKEY Payload types. */ /** * Different MIKEY Payload types. */ export namespace MIKEYPayloadType { export const $gtype: GObject.GType; } enum MIKEYPayloadType { /** * Last payload */ LAST, /** * Key data transport payload */ KEMAC, /** * Envelope data payload */ PKE, /** * DH data payload */ DH, /** * Signature payload */ SIGN, /** * Timestamp payload */ T, /** * ID payload */ ID, /** * Certificate Payload */ CERT, /** * Cert hash payload */ CHASH, /** * Verification message payload */ V, /** * Security Policy payload */ SP, /** * RAND payload */ RAND, /** * Error payload */ ERR, /** * Key data sub-payload */ KEY_DATA, /** * General Extension Payload */ GEN_EXT, } /** * Specifies the security protocol */ /** * Specifies the security protocol */ export namespace MIKEYSecProto { export const $gtype: GObject.GType; } enum MIKEYSecProto { /** * SRTP */ MIKEY_SEC_PROTO_SRTP, } /** * This policy specifies the parameters for SRTP and SRTCP */ /** * This policy specifies the parameters for SRTP and SRTCP */ export namespace MIKEYSecSRTP { export const $gtype: GObject.GType; } enum MIKEYSecSRTP { /** * Encryption algorithm */ ENC_ALG, /** * Session Encr. key length */ ENC_KEY_LEN, /** * Authentication algorithm */ AUTH_ALG, /** * Session Auth. key length */ AUTH_KEY_LEN, /** * Session Salt key length */ SALT_KEY_LEN, /** * SRTP Pseudo Random Function */ PRF, /** * Key derivation rate */ KEY_DERIV_RATE, /** * SRTP encryption off/on, 0 if off, 1 if on */ SRTP_ENC, /** * SRTCP encryption off/on, 0 if off, 1 if on */ SRTCP_ENC, /** * sender's FEC order */ FEC_ORDER, /** * SRTP authentication off/on, 0 if off, 1 if on */ SRTP_AUTH, /** * Authentication tag length */ AUTH_TAG_LEN, /** * SRTP prefix length */ SRTP_PREFIX_LEN, /** * AEAD authentication tag length (Since: 1.16) */ AEAD_AUTH_TAG_LEN, } /** * Specifies the timestamp type. */ /** * Specifies the timestamp type. */ export namespace MIKEYTSType { export const $gtype: GObject.GType; } enum MIKEYTSType { /** * an NTP time in UTC timezone */ NTP_UTC, /** * an NTP time */ NTP, /** * a counter */ COUNTER, } /** * Different MIKEY data types. */ /** * Different MIKEY data types. */ export namespace MIKEYType { export const $gtype: GObject.GType; } enum MIKEYType { /** * Invalid type */ INVALID, /** * Initiator's pre-shared key message */ PSK_INIT, /** * Verification message of a Pre-shared key message */ PSK_VERIFY, /** * Initiator's public-key transport message */ PK_INIT, /** * Verification message of a public-key message */ PK_VERIFY, /** * Initiator's DH exchange message */ DH_INIT, /** * Responder's DH exchange message */ DH_RESP, /** * Error message */ ERROR, } /** * Return values for the SDP functions. */ /** * Return values for the SDP functions. */ export namespace SDPResult { export const $gtype: GObject.GType; } enum SDPResult { /** * A successful return value */ OK, /** * a function was given invalid parameters */ EINVAL, } /** * The supported MIKEY version 1. */ const MIKEY_VERSION: number; /** * The Application-Specific Maximum bandwidth modifier. */ const SDP_BWTYPE_AS: string; /** * The Conference Total bandwidth modifier. */ const SDP_BWTYPE_CT: string; /** * The extension prefix bandwidth modifier. */ const SDP_BWTYPE_EXT_PREFIX: string; /** * RTCP bandwidth allocated to data receivers (RFC 3556). */ const SDP_BWTYPE_RR: string; /** * RTCP bandwidth allocated to active data senders (RFC 3556). */ const SDP_BWTYPE_RS: string; /** * Transport Independent Application Specific Maximum bandwidth (RFC 3890). */ const SDP_BWTYPE_TIAS: string; /** * Check if the given `addr` is a multicast address. * @param nettype a network type * @param addrtype an address type * @param addr an address * @returns TRUE when @addr is multicast. */ function sdp_address_is_multicast(nettype: string, addrtype: string, addr: string): boolean; /** * Makes key management data * @param uri a #gchar URI * @param base64 a #gchar base64-encoded key data * @returns a #gchar key-mgmt data, */ function sdp_make_keymgmt(uri: string, base64: string): string; /** * Initialize `media` so that its contents are as if it was freshly allocated * with gst_sdp_media_new(). This function is mostly used to initialize a media * allocated on the stack. gst_sdp_media_uninit() undoes this operation. * * When this function is invoked on newly allocated data (with malloc or on the * stack), its contents should be set to 0 before calling this function. * @returns a #GstSDPResult. */ function sdp_media_init(): [SDPResult, SDPMedia]; /** * Allocate a new GstSDPMedia and store the result in `media`. * @returns a #GstSDPResult. */ function sdp_media_new(): [SDPResult, SDPMedia]; /** * Mapping of caps to SDP fields: * * a=rtpmap:(payload) (encoding_name) or (clock_rate)[or (encoding_params)] * * a=framesize:(payload) (width)-(height) * * a=fmtp:(payload) (param)[=(value)];... * * a=rtcp-fb:(payload) (param1) [param2]... * * a=extmap:(id)[/direction] (extensionname) (extensionattributes) * @param caps a #GstCaps * @returns a #GstSDPResult. */ function sdp_media_set_media_from_caps(caps: Gst.Caps): [SDPResult, SDPMedia]; /** * Creates a uri from `msg` with the given `scheme`. The uri has the format: * * \`scheme:`///[#type=value *[&type=value]] * * Where each value is url encoded. * @param scheme the uri scheme * @param msg the #GstSDPMessage * @returns a uri for @msg. */ function sdp_message_as_uri(scheme: string, msg: SDPMessage): string; /** * Initialize `msg` so that its contents are as if it was freshly allocated * with gst_sdp_message_new(). This function is mostly used to initialize a message * allocated on the stack. gst_sdp_message_uninit() undoes this operation. * * When this function is invoked on newly allocated data (with malloc or on the * stack), its contents should be set to 0 before calling this function. * @returns a #GstSDPResult. */ function sdp_message_init(): [SDPResult, SDPMessage]; /** * Allocate a new GstSDPMessage and store the result in `msg`. * @returns a #GstSDPResult. */ function sdp_message_new(): [SDPResult, SDPMessage]; /** * Parse `text` and create a new SDPMessage from these. * @param text A dynamically allocated string representing the SDP description * @returns a #GstSDPResult. */ function sdp_message_new_from_text(text: string): [SDPResult, SDPMessage]; /** * Parse the contents of `size` bytes pointed to by `data` and store the result in * `msg`. * @param data the start of the buffer * @param msg the result #GstSDPMessage * @returns #GST_SDP_OK on success. */ function sdp_message_parse_buffer(data: Uint8Array | string, msg: SDPMessage): SDPResult; /** * Parse the null-terminated `uri` and store the result in `msg`. * * The uri should be of the form: * * scheme://[address[:ttl=ttl][:noa=noa]]/[sessionname] * [#type=value *[&type=value]] * * where value is url encoded. This looslely resembles * http://tools.ietf.org/html/draft-fujikawa-sdp-url-01 * @param uri the start of the uri * @param msg the result #GstSDPMessage * @returns #GST_SDP_OK on success. */ function sdp_message_parse_uri(uri: string, msg: SDPMessage): SDPResult; abstract class MIKEYDecryptInfo { static $gtype: GObject.GType; // Constructors _init(...args: any[]): void; } abstract class MIKEYEncryptInfo { static $gtype: GObject.GType; // Constructors _init(...args: any[]): void; } /** * The Security policy Map item for SRTP */ class MIKEYMapSRTP { static $gtype: GObject.GType; // Fields policy: number; ssrc: number; roc: number; // Constructors constructor( properties?: Partial<{ policy: number; ssrc: number; roc: number; }>, ); _init(...args: any[]): void; } /** * Structure holding the information of the MIKEY message */ class MIKEYMessage { static $gtype: GObject.GType; // Fields version: number; type: MIKEYType; V: boolean; prf_func: MIKEYPRFFunc; CSB_id: number; map_type: MIKEYMapType; map_info: any[]; payloads: any[]; // Constructors constructor( properties?: Partial<{ version: number; type: MIKEYType; V: boolean; prf_func: MIKEYPRFFunc; CSB_id: number; map_type: MIKEYMapType; map_info: any[]; payloads: any[]; }>, ); _init(...args: any[]): void; static ['new'](): MIKEYMessage; static new_from_bytes(bytes: GLib.Bytes | Uint8Array, info: MIKEYDecryptInfo): MIKEYMessage; static new_from_caps(caps: Gst.Caps): MIKEYMessage; static new_from_data(data: Uint8Array | string, info: MIKEYDecryptInfo): MIKEYMessage; // Methods /** * Add a Crypto policy for SRTP to `msg`. * @param policy The security policy applied for the stream with @ssrc * @param ssrc the SSRC that must be used for the stream * @param roc current rollover counter * @returns %TRUE on success */ add_cs_srtp(policy: number, ssrc: number, roc: number): boolean; /** * Add a new payload to `msg`. * @param payload a #GstMIKEYPayload * @returns %TRUE on success */ add_payload(payload: MIKEYPayload): boolean; /** * Add a new PKE payload to `msg` with the given parameters. * @param C envelope key cache indicator * @param data the encrypted envelope key * @returns %TRUE on success */ add_pke(C: MIKEYCacheType | null, data: Uint8Array | string): boolean; /** * Add a new RAND payload to `msg` with the given parameters. * @param rand random data * @returns %TRUE on success */ add_rand(rand: Uint8Array | string): boolean; /** * Add a new RAND payload to `msg` with `len` random bytes. * @param len length * @returns %TRUE on success */ add_rand_len(len: number): boolean; /** * Add a new T payload to `msg` with the given parameters. * @param type specifies the timestamp type used * @param ts_value The timestamp value of the specified @type * @returns %TRUE on success */ add_t(type: MIKEYTSType | null, ts_value: Uint8Array | string): boolean; /** * Add a new T payload to `msg` that contains the current time * in NTP-UTC format. * @returns %TRUE on success */ add_t_now_ntp_utc(): boolean; base64_encode(): string; /** * Find the `nth` occurrence of the payload with `type` in `msg`. * @param type a #GstMIKEYPayloadType * @param nth payload to find * @returns the @nth #GstMIKEYPayload of @type. */ find_payload(type: MIKEYPayloadType | null, nth: number): MIKEYPayload | null; /** * Get the policy information of `msg` at `idx`. * @param idx an index * @returns a #GstMIKEYMapSRTP */ get_cs_srtp(idx: number): MIKEYMapSRTP | null; /** * Get the number of crypto sessions in `msg`. * @returns the number of crypto sessions */ get_n_cs(): number; /** * Get the number of payloads in `msg`. * @returns the number of payloads in @msg */ get_n_payloads(): number; /** * Get the #GstMIKEYPayload at `idx` in `msg` * @param idx an index * @returns the #GstMIKEYPayload at @idx. The payload remains valid for as long as it is part of @msg. */ get_payload(idx: number): MIKEYPayload | null; /** * Insert a Crypto Session map for SRTP in `msg` at `idx` * * When `idx` is -1, the policy will be appended. * @param idx the index to insert at * @param map the map info * @returns %TRUE on success */ insert_cs_srtp(idx: number, map: MIKEYMapSRTP): boolean; /** * Insert the `payload` at index `idx` in `msg`. If `idx` is -1, the payload * will be appended to `msg`. * @param idx an index * @param payload a #GstMIKEYPayload * @returns %TRUE on success */ insert_payload(idx: number, payload: MIKEYPayload): boolean; /** * Remove the SRTP policy at `idx`. * @param idx the index to remove * @returns %TRUE on success */ remove_cs_srtp(idx: number): boolean; /** * Remove the payload in `msg` at `idx` * @param idx an index * @returns %TRUE on success */ remove_payload(idx: number): boolean; /** * Replace a Crypto Session map for SRTP in `msg` at `idx` with `map`. * @param idx the index to insert at * @param map the map info * @returns %TRUE on success */ replace_cs_srtp(idx: number, map: MIKEYMapSRTP): boolean; /** * Replace the payload at `idx` in `msg` with `payload`. * @param idx an index * @param payload a #GstMIKEYPayload * @returns %TRUE on success */ replace_payload(idx: number, payload: MIKEYPayload): boolean; /** * Set the information in `msg`. * @param version a version * @param type a #GstMIKEYType * @param V verify flag * @param prf_func the #GstMIKEYPRFFunc function to use * @param CSB_id the Crypto Session Bundle id * @param map_type the #GstMIKEYMapType * @returns %TRUE on success */ set_info( version: number, type: MIKEYType | null, V: boolean, prf_func: MIKEYPRFFunc | null, CSB_id: number, map_type: MIKEYMapType | null, ): boolean; /** * Convert `msg` to a #GBytes. * @param info a #GstMIKEYEncryptInfo * @returns a new #GBytes for @msg. */ to_bytes(info: MIKEYEncryptInfo): GLib.Bytes; to_caps(caps: Gst.Caps): boolean; } /** * Hold the common fields for all payloads */ class MIKEYPayload { static $gtype: GObject.GType; // Fields type: MIKEYPayloadType; len: number; // Constructors constructor(type: MIKEYPayloadType); _init(...args: any[]): void; static ['new'](type: MIKEYPayloadType): MIKEYPayload; // Methods /** * Add a new sub payload to `payload`. * @param newpay a #GstMIKEYPayload to add * @returns %TRUE on success. */ kemac_add_sub(newpay: MIKEYPayload): boolean; /** * Get the number of sub payloads of `payload`. `payload` should be of type * %GST_MIKEY_PT_KEMAC. * @returns the number of sub payloads in @payload */ kemac_get_n_sub(): number; /** * Get the sub payload of `payload` at `idx`. `payload` should be of type * %GST_MIKEY_PT_KEMAC. * @param idx an index * @returns the #GstMIKEYPayload at @idx. */ kemac_get_sub(idx: number): MIKEYPayload | null; /** * Remove the sub payload at `idx` in `payload`. * @param idx the index to remove * @returns %TRUE on success. */ kemac_remove_sub(idx: number): boolean; /** * Set the KEMAC parameters. `payload` should point to a %GST_MIKEY_PT_KEMAC * payload. * @param enc_alg the #GstMIKEYEncAlg * @param mac_alg a #GstMIKEYMacAlg * @returns %TRUE on success */ kemac_set(enc_alg: MIKEYEncAlg | null, mac_alg: MIKEYMacAlg | null): boolean; /** * Set the key validity period in the %GST_MIKEY_PT_KEY_DATA `payload`. * @param vf_data the Valid From data * @param vt_data the Valid To data * @returns %TRUE on success */ key_data_set_interval(vf_data: Uint8Array | string, vt_data: Uint8Array | string): boolean; /** * Set `key_len` bytes of `key_data` of type `key_type` as the key for the * %GST_MIKEY_PT_KEY_DATA `payload`. * @param key_type a #GstMIKEYKeyDataType * @param key_data the key of type @key_type * @returns %TRUE on success */ key_data_set_key(key_type: MIKEYKeyDataType | null, key_data: Uint8Array | string): boolean; /** * Set the salt key data. If `salt_len` is 0 and `salt_data` is %NULL, the * salt data will be removed. * @param salt_data the salt * @returns %TRUE on success */ key_data_set_salt(salt_data?: Uint8Array | null): boolean; /** * Set the SPI/MKI validity in the %GST_MIKEY_PT_KEY_DATA `payload`. * @param spi_data the SPI/MKI data * @returns %TRUE on success */ key_data_set_spi(spi_data: Uint8Array | string): boolean; /** * Set the PKE values in `payload`. `payload` must be of type * %GST_MIKEY_PT_PKE. * @param C envelope key cache indicator * @param data the encrypted envelope key * @returns %TRUE on success */ pke_set(C: MIKEYCacheType | null, data: Uint8Array | string): boolean; /** * Set the random values in a %GST_MIKEY_PT_RAND `payload`. * @param rand random values * @returns %TRUE on success */ rand_set(rand: Uint8Array | string): boolean; /** * Add a new parameter to the %GST_MIKEY_PT_SP `payload` with `type,` `len` * and `val`. * @param type a type * @param val @len bytes of data * @returns %TRUE on success */ sp_add_param(type: number, val: Uint8Array | string): boolean; /** * Get the number of security policy parameters in a %GST_MIKEY_PT_SP * `payload`. * @returns the number of parameters in @payload */ sp_get_n_params(): number; /** * Get the Security Policy parameter in a %GST_MIKEY_PT_SP `payload` * at `idx`. * @param idx an index * @returns the #GstMIKEYPayloadSPParam at @idx in @payload */ sp_get_param(idx: number): MIKEYPayloadSPParam | null; /** * Remove the Security Policy parameters from a %GST_MIKEY_PT_SP * `payload` at `idx`. * @param idx an index * @returns %TRUE on success */ sp_remove_param(idx: number): boolean; /** * Set the Security Policy parameters for `payload`. * @param policy the policy number * @param proto a #GstMIKEYSecProto * @returns %TRUE on success */ sp_set(policy: number, proto: MIKEYSecProto | null): boolean; /** * Set the timestamp in a %GST_MIKEY_PT_T `payload`. * @param type the #GstMIKEYTSType * @param ts_value the timestamp value * @returns %TRUE on success */ t_set(type: MIKEYTSType | null, ts_value: Uint8Array | string): boolean; } /** * A structure holding the KEMAC payload */ class MIKEYPayloadKEMAC { static $gtype: GObject.GType; // Fields enc_alg: MIKEYEncAlg; mac_alg: MIKEYMacAlg; subpayloads: any[]; // Constructors _init(...args: any[]): void; } /** * The Key data payload contains key material. It should be added as sub * payload to the KEMAC. */ class MIKEYPayloadKeyData { static $gtype: GObject.GType; // Fields key_type: MIKEYKeyDataType; key_len: number; key_data: number; salt_len: number; salt_data: number; kv_type: MIKEYKVType; kv_len: Uint8Array; kv_data: Uint8Array; // Constructors _init(...args: any[]): void; } /** * The Envelope data payload contains the encrypted envelope key that is * used in the public-key transport to protect the data in the Key data * transport payload. The encryption algorithm used is implicit from * the certificate/public key used. */ class MIKEYPayloadPKE { static $gtype: GObject.GType; // Fields C: MIKEYCacheType; data_len: number; data: number; // Constructors _init(...args: any[]): void; } /** * The RAND payload consists of a (pseudo-)random bit-string */ class MIKEYPayloadRAND { static $gtype: GObject.GType; // Fields len: number; rand: number; // Constructors _init(...args: any[]): void; } /** * The Security Policy payload defines a set of policies that apply to a * specific security protocol */ class MIKEYPayloadSP { static $gtype: GObject.GType; // Fields policy: number; proto: MIKEYSecProto; params: any[]; // Constructors _init(...args: any[]): void; } /** * A Type/Length/Value field for security parameters */ class MIKEYPayloadSPParam { static $gtype: GObject.GType; // Fields type: number; len: number; val: number; // Constructors constructor( properties?: Partial<{ type: number; len: number; val: number; }>, ); _init(...args: any[]): void; } /** * The timestamp payload carries the timestamp information */ class MIKEYPayloadT { static $gtype: GObject.GType; // Fields type: MIKEYTSType; ts_value: number; // Constructors _init(...args: any[]): void; } /** * The contents of the SDP "a=" field which contains a key/value pair. */ class SDPAttribute { static $gtype: GObject.GType; // Fields key: string; value: string; // Constructors constructor( properties?: Partial<{ key: string; value: string; }>, ); _init(...args: any[]): void; // Methods /** * Clear the attribute. * @returns @GST_SDP_OK. */ clear(): SDPResult; /** * Set the attribute with `key` and `value`. * @param key the key * @param value the value * @returns @GST_SDP_OK. */ set(key: string, value?: string | null): SDPResult; } /** * The contents of the SDP "b=" field which specifies the proposed bandwidth to * be used by the session or media. */ class SDPBandwidth { static $gtype: GObject.GType; // Fields bwtype: string; bandwidth: number; // Constructors constructor( properties?: Partial<{ bwtype: string; bandwidth: number; }>, ); _init(...args: any[]): void; // Methods /** * Reset the bandwidth information in `bw`. * @returns a #GstSDPResult. */ clear(): SDPResult; /** * Set bandwidth information in `bw`. * @param bwtype the bandwidth modifier type * @param bandwidth the bandwidth in kilobits per second * @returns a #GstSDPResult. */ set(bwtype: string, bandwidth: number): SDPResult; } /** * The contents of the SDP "c=" field which contains connection data. */ class SDPConnection { static $gtype: GObject.GType; // Fields nettype: string; addrtype: string; address: string; ttl: number; addr_number: number; // Constructors constructor( properties?: Partial<{ nettype: string; addrtype: string; address: string; ttl: number; addr_number: number; }>, ); _init(...args: any[]): void; // Methods /** * Clear the connection. * @returns @GST_SDP_OK. */ clear(): SDPResult; /** * Set the connection with the given parameters. * @param nettype the type of network. "IN" is defined to have the meaning "Internet". * @param addrtype the type of address. * @param address the address * @param ttl the time to live of the address * @param addr_number the number of layers * @returns @GST_SDP_OK. */ set(nettype: string, addrtype: string, address: string, ttl: number, addr_number: number): SDPResult; } /** * The contents of the SDP "k=" field which is used to convey encryption * keys. */ class SDPKey { static $gtype: GObject.GType; // Fields type: string; data: string; // Constructors constructor( properties?: Partial<{ type: string; data: string; }>, ); _init(...args: any[]): void; } /** * The contents of the SDP "m=" field with all related fields. */ class SDPMedia { static $gtype: GObject.GType; // Fields media: string; port: number; num_ports: number; proto: string; fmts: any[]; information: string; connections: any[]; bandwidths: any[]; key: SDPKey; attributes: any[]; // Constructors constructor( properties?: Partial<{ media: string; port: number; num_ports: number; proto: string; fmts: any[]; information: string; connections: any[]; bandwidths: any[]; key: SDPKey; attributes: any[]; }>, ); _init(...args: any[]): void; // Static methods /** * Initialize `media` so that its contents are as if it was freshly allocated * with gst_sdp_media_new(). This function is mostly used to initialize a media * allocated on the stack. gst_sdp_media_uninit() undoes this operation. * * When this function is invoked on newly allocated data (with malloc or on the * stack), its contents should be set to 0 before calling this function. */ static init(): [SDPResult, SDPMedia]; /** * Allocate a new GstSDPMedia and store the result in `media`. */ static ['new'](): [SDPResult, SDPMedia]; /** * Mapping of caps to SDP fields: * * a=rtpmap:(payload) (encoding_name) or (clock_rate)[or (encoding_params)] * * a=framesize:(payload) (width)-(height) * * a=fmtp:(payload) (param)[=(value)];... * * a=rtcp-fb:(payload) (param1) [param2]... * * a=extmap:(id)[/direction] (extensionname) (extensionattributes) * @param caps a #GstCaps */ static set_media_from_caps(caps: Gst.Caps): [SDPResult, SDPMedia]; // Methods /** * Add the attribute with `key` and `value` to `media`. * @param key a key * @param value a value * @returns #GST_SDP_OK. */ add_attribute(key: string, value?: string | null): SDPResult; /** * Add the bandwidth information with `bwtype` and `bandwidth` to `media`. * @param bwtype the bandwidth modifier type * @param bandwidth the bandwidth in kilobits per second * @returns #GST_SDP_OK. */ add_bandwidth(bwtype: string, bandwidth: number): SDPResult; /** * Add the given connection parameters to `media`. * @param nettype the type of network. "IN" is defined to have the meaning "Internet". * @param addrtype the type of address. * @param address the address * @param ttl the time to live of the address * @param addr_number the number of layers * @returns a #GstSDPResult. */ add_connection( nettype: string, addrtype: string, address: string, ttl: number, addr_number: number, ): SDPResult; /** * Add the format information to `media`. * @param format the format * @returns #GST_SDP_OK. */ add_format(format: string): SDPResult; /** * Convert the contents of `media` to a text string. * @returns A dynamically allocated string representing the media. */ as_text(): string; /** * Get the number of attribute fields in `media`. * @returns the number of attributes in @media. */ attributes_len(): number; /** * Mapping of attributes of #GstSDPMedia to #GstCaps * @param caps a #GstCaps * @returns a #GstSDPResult. */ attributes_to_caps(caps: Gst.Caps): SDPResult; /** * Get the number of bandwidth fields in `media`. * @returns the number of bandwidths in @media. */ bandwidths_len(): number; /** * Get the number of connection fields in `media`. * @returns the number of connections in @media. */ connections_len(): number; /** * Allocate a new copy of `media` and store the result in `copy`. The value in * `copy` should be release with gst_sdp_media_free function. * @returns a #GstSDPResult */ copy(): [SDPResult, SDPMedia]; /** * Get the number of formats in `media`. * @returns the number of formats in @media. */ formats_len(): number; /** * Free all resources allocated by `media`. `media` should not be used anymore after * this function. This function should be used when `media` was dynamically * allocated with gst_sdp_media_new(). * @returns a #GstSDPResult. */ free(): SDPResult; /** * Get the attribute at position `idx` in `media`. * @param idx an index * @returns the #GstSDPAttribute at position @idx. */ get_attribute(idx: number): SDPAttribute; /** * Get the first attribute value for `key` in `media`. * @param key a key * @returns the first attribute value for @key. */ get_attribute_val(key: string): string | null; /** * Get the `nth` attribute value for `key` in `media`. * @param key a key * @param nth an index * @returns the @nth attribute value. */ get_attribute_val_n(key: string, nth: number): string | null; /** * Get the bandwidth at position `idx` in `media`. * @param idx an index * @returns the #GstSDPBandwidth at position @idx. */ get_bandwidth(idx: number): SDPBandwidth; /** * Mapping of caps from SDP fields: * * a=rtpmap:(payload) (encoding_name)/(clock_rate)[/(encoding_params)] * * a=framesize:(payload) (width)-(height) * * a=fmtp:(payload) (param)[=(value)];... * * Note that the extmap, ssrc and rid attributes are set only by gst_sdp_media_attributes_to_caps(). * @param pt a payload type * @returns a #GstCaps, or %NULL if an error happened */ get_caps_from_media(pt: number): Gst.Caps | null; /** * Get the connection at position `idx` in `media`. * @param idx an index * @returns the #GstSDPConnection at position @idx. */ get_connection(idx: number): SDPConnection; /** * Get the format information at position `idx` in `media`. * @param idx an index * @returns the format at position @idx. */ get_format(idx: number): string; /** * Get the information of `media` * @returns the information of @media. */ get_information(): string; /** * Get the encryption information from `media`. * @returns a #GstSDPKey. */ get_key(): SDPKey; /** * Get the media description of `media`. * @returns the media description. */ get_media(): string; /** * Get the number of ports for `media`. * @returns the number of ports for @media. */ get_num_ports(): number; /** * Get the port number for `media`. * @returns the port number of @media. */ get_port(): number; /** * Get the transport protocol of `media` * @returns the transport protocol of @media. */ get_proto(): string; /** * Insert the attribute to `media` at `idx`. When `idx` is -1, * the attribute is appended. * @param idx an index * @param attr a #GstSDPAttribute * @returns #GST_SDP_OK. */ insert_attribute(idx: number, attr: SDPAttribute): SDPResult; /** * Insert the bandwidth information to `media` at `idx`. When `idx` is -1, * the bandwidth is appended. * @param idx an index * @param bw a #GstSDPBandwidth * @returns #GST_SDP_OK. */ insert_bandwidth(idx: number, bw: SDPBandwidth): SDPResult; /** * Insert the connection information to `media` at `idx`. When `idx` is -1, * the connection is appended. * @param idx an index * @param conn a #GstSDPConnection * @returns #GST_SDP_OK. */ insert_connection(idx: number, conn: SDPConnection): SDPResult; /** * Insert the format information to `media` at `idx`. When `idx` is -1, * the format is appended. * @param idx an index * @param format the format * @returns #GST_SDP_OK. */ insert_format(idx: number, format: string): SDPResult; /** * Creates a new #GstMIKEYMessage after parsing the key-mgmt attribute * from a #GstSDPMedia. * @returns a #GstSDPResult. */ parse_keymgmt(): [SDPResult, MIKEYMessage]; /** * Remove the attribute in `media` at `idx`. * @param idx an index * @returns #GST_SDP_OK. */ remove_attribute(idx: number): SDPResult; /** * Remove the bandwidth information in `media` at `idx`. * @param idx an index * @returns #GST_SDP_OK. */ remove_bandwidth(idx: number): SDPResult; /** * Remove the connection information in `media` at `idx`. * @param idx an index * @returns #GST_SDP_OK. */ remove_connection(idx: number): SDPResult; /** * Remove the format information in `media` at `idx`. * @param idx an index * @returns #GST_SDP_OK. */ remove_format(idx: number): SDPResult; /** * Replace the attribute in `media` at `idx` with `attr`. * @param idx an index * @param attr a #GstSDPAttribute * @returns #GST_SDP_OK. */ replace_attribute(idx: number, attr: SDPAttribute): SDPResult; /** * Replace the bandwidth information in `media` at `idx` with `bw`. * @param idx an index * @param bw a #GstSDPBandwidth * @returns #GST_SDP_OK. */ replace_bandwidth(idx: number, bw: SDPBandwidth): SDPResult; /** * Replace the connection information in `media` at `idx` with `conn`. * @param idx an index * @param conn a #GstSDPConnection * @returns #GST_SDP_OK. */ replace_connection(idx: number, conn: SDPConnection): SDPResult; /** * Replace the format information in `media` at `idx` with `format`. * @param idx an index * @param format the format * @returns #GST_SDP_OK. */ replace_format(idx: number, format: string): SDPResult; /** * Set the media information of `media` to `information`. * @param information the media information * @returns #GST_SDP_OK. */ set_information(information: string): SDPResult; /** * Adds the encryption information to `media`. * @param type the encryption type * @param data the encryption data * @returns a #GstSDPResult. */ set_key(type: string, data: string): SDPResult; /** * Set the media description of `media` to `med`. * @param med the media description * @returns #GST_SDP_OK. */ set_media(med: string): SDPResult; /** * Set the port information in `media`. * @param port the port number * @param num_ports the number of ports * @returns #GST_SDP_OK. */ set_port_info(port: number, num_ports: number): SDPResult; /** * Set the media transport protocol of `media` to `proto`. * @param proto the media transport protocol * @returns #GST_SDP_OK. */ set_proto(proto: string): SDPResult; /** * Free all resources allocated in `media`. `media` should not be used anymore after * this function. This function should be used when `media` was allocated on the * stack and initialized with gst_sdp_media_init(). * @returns a #GstSDPResult. */ uninit(): SDPResult; } /** * The GstSDPMessage helper functions makes it easy to parse and create SDP * messages. */ class SDPMessage { static $gtype: GObject.GType; // Fields version: string; origin: SDPOrigin; session_name: string; information: string; uri: string; emails: any[]; phones: any[]; connection: SDPConnection; bandwidths: any[]; times: any[]; zones: any[]; key: SDPKey; attributes: any[]; medias: any[]; // Constructors constructor( properties?: Partial<{ version: string; origin: SDPOrigin; session_name: string; information: string; uri: string; emails: any[]; phones: any[]; connection: SDPConnection; bandwidths: any[]; times: any[]; zones: any[]; key: SDPKey; attributes: any[]; medias: any[]; }>, ); _init(...args: any[]): void; // Static methods /** * Creates a uri from `msg` with the given `scheme`. The uri has the format: * * \`scheme:`///[#type=value *[&type=value]] * * Where each value is url encoded. * @param scheme the uri scheme * @param msg the #GstSDPMessage */ static as_uri(scheme: string, msg: SDPMessage): string; /** * Initialize `msg` so that its contents are as if it was freshly allocated * with gst_sdp_message_new(). This function is mostly used to initialize a message * allocated on the stack. gst_sdp_message_uninit() undoes this operation. * * When this function is invoked on newly allocated data (with malloc or on the * stack), its contents should be set to 0 before calling this function. */ static init(): [SDPResult, SDPMessage]; /** * Allocate a new GstSDPMessage and store the result in `msg`. */ static ['new'](): [SDPResult, SDPMessage]; /** * Parse `text` and create a new SDPMessage from these. * @param text A dynamically allocated string representing the SDP description */ static new_from_text(text: string): [SDPResult, SDPMessage]; /** * Parse the contents of `size` bytes pointed to by `data` and store the result in * `msg`. * @param data the start of the buffer * @param msg the result #GstSDPMessage */ static parse_buffer(data: Uint8Array | string, msg: SDPMessage): SDPResult; /** * Parse the null-terminated `uri` and store the result in `msg`. * * The uri should be of the form: * * scheme://[address[:ttl=ttl][:noa=noa]]/[sessionname] * [#type=value *[&type=value]] * * where value is url encoded. This looslely resembles * http://tools.ietf.org/html/draft-fujikawa-sdp-url-01 * @param uri the start of the uri * @param msg the result #GstSDPMessage */ static parse_uri(uri: string, msg: SDPMessage): SDPResult; // Methods /** * Add the attribute with `key` and `value` to `msg`. * @param key the key * @param value the value * @returns @GST_SDP_OK. */ add_attribute(key: string, value?: string | null): SDPResult; /** * Add the specified bandwidth information to `msg`. * @param bwtype the bandwidth modifier type * @param bandwidth the bandwidth in kilobits per second * @returns a #GstSDPResult. */ add_bandwidth(bwtype: string, bandwidth: number): SDPResult; /** * Add `email` to the list of emails in `msg`. * @param email an email * @returns a #GstSDPResult. */ add_email(email: string): SDPResult; /** * Adds `media` to the array of medias in `msg`. This function takes ownership of * the contents of `media` so that `media` will have to be reinitialized with * gst_sdp_media_init() before it can be used again. * @param media a #GstSDPMedia to add * @returns a #GstSDPResult. */ add_media(media: SDPMedia): SDPResult; /** * Add `phone` to the list of phones in `msg`. * @param phone a phone * @returns a #GstSDPResult. */ add_phone(phone: string): SDPResult; /** * Add time information `start` and `stop` to `msg`. * @param start the start time * @param stop the stop time * @param repeat the repeat times * @returns a #GstSDPResult. */ add_time(start: string, stop: string, repeat: string[]): SDPResult; /** * Add time zone information to `msg`. * @param adj_time the NTP time that a time zone adjustment happens * @param typed_time the offset from the time when the session was first scheduled * @returns a #GstSDPResult. */ add_zone(adj_time: string, typed_time: string): SDPResult; /** * Convert the contents of `msg` to a text string. * @returns A dynamically allocated string representing the SDP description. */ as_text(): string; /** * Get the number of attributes in `msg`. * @returns the number of attributes in @msg. */ attributes_len(): number; /** * Mapping of attributes of #GstSDPMessage to #GstCaps * @param caps a #GstCaps * @returns a #GstSDPResult. */ attributes_to_caps(caps: Gst.Caps): SDPResult; /** * Get the number of bandwidth information in `msg`. * @returns the number of bandwidth information in @msg. */ bandwidths_len(): number; /** * Allocate a new copy of `msg` and store the result in `copy`. The value in * `copy` should be release with gst_sdp_message_free function. * @returns a #GstSDPResult */ copy(): [SDPResult, SDPMessage]; /** * Dump the parsed contents of `msg` to stdout. * @returns a #GstSDPResult. */ dump(): SDPResult; /** * Get the number of emails in `msg`. * @returns the number of emails in @msg. */ emails_len(): number; /** * Free all resources allocated by `msg`. `msg` should not be used anymore after * this function. This function should be used when `msg` was dynamically * allocated with gst_sdp_message_new(). * @returns a #GstSDPResult. */ free(): SDPResult; /** * Get the attribute at position `idx` in `msg`. * @param idx the index * @returns the #GstSDPAttribute at position @idx. */ get_attribute(idx: number): SDPAttribute; /** * Get the first attribute with key `key` in `msg`. * @param key the key * @returns the attribute value of the first attribute with @key. */ get_attribute_val(key: string): string | null; /** * Get the `nth` attribute with key `key` in `msg`. * @param key the key * @param nth the index * @returns the attribute value of the @nth attribute with @key. */ get_attribute_val_n(key: string, nth: number): string | null; /** * Get the bandwidth at index `idx` from `msg`. * @param idx the bandwidth index * @returns a #GstSDPBandwidth. */ get_bandwidth(idx: number): SDPBandwidth; /** * Get the connection of `msg`. * @returns a #GstSDPConnection. The result remains valid as long as @msg is valid. */ get_connection(): SDPConnection; /** * Get the email with number `idx` from `msg`. * @param idx an email index * @returns the email at position @idx. */ get_email(idx: number): string; /** * Get the information in `msg`. * @returns a #GstSDPResult. */ get_information(): string; /** * Get the encryption information from `msg`. * @returns a #GstSDPKey. */ get_key(): SDPKey; /** * Get the media description at index `idx` in `msg`. * @param idx the index * @returns a #GstSDPMedia. */ get_media(idx: number): SDPMedia; /** * Get the origin of `msg`. * @returns a #GstSDPOrigin. The result remains valid as long as @msg is valid. */ get_origin(): SDPOrigin; /** * Get the phone with number `idx` from `msg`. * @param idx a phone index * @returns the phone at position @idx. */ get_phone(idx: number): string; /** * Get the session name in `msg`. * @returns a #GstSDPResult. */ get_session_name(): string; /** * Get time information with index `idx` from `msg`. * @param idx the time index * @returns a #GstSDPTime. */ get_time(idx: number): SDPTime; /** * Get the URI in `msg`. * @returns a #GstSDPResult. */ get_uri(): string; /** * Get the version in `msg`. * @returns a #GstSDPResult. */ get_version(): string; /** * Get time zone information with index `idx` from `msg`. * @param idx the zone index * @returns a #GstSDPZone. */ get_zone(idx: number): SDPZone; /** * Insert attribute into the array of attributes in `msg` * at index `idx`. * When -1 is given as `idx,` the attribute is inserted at the end. * @param idx an index * @param attr a #GstSDPAttribute * @returns a #GstSDPResult. */ insert_attribute(idx: number, attr: SDPAttribute): SDPResult; /** * Insert bandwidth parameters into the array of bandwidths in `msg` * at index `idx`. * When -1 is given as `idx,` the bandwidth is inserted at the end. * @param idx an index * @param bw the bandwidth * @returns a #GstSDPResult. */ insert_bandwidth(idx: number, bw: SDPBandwidth): SDPResult; /** * Insert `email` into the array of emails in `msg` at index `idx`. * When -1 is given as `idx,` the email is inserted at the end. * @param idx an index * @param email an email * @returns a #GstSDPResult. */ insert_email(idx: number, email: string): SDPResult; /** * Insert `phone` into the array of phone numbers in `msg` at index `idx`. * When -1 is given as `idx,` the phone is inserted at the end. * @param idx a phone index * @param phone a phone * @returns a #GstSDPResult. */ insert_phone(idx: number, phone: string): SDPResult; /** * Insert time parameters into the array of times in `msg` * at index `idx`. * When -1 is given as `idx,` the times are inserted at the end. * @param idx an index * @param t a #GstSDPTime * @returns a #GstSDPResult. */ insert_time(idx: number, t: SDPTime): SDPResult; /** * Insert zone parameters into the array of zones in `msg` * at index `idx`. * When -1 is given as `idx,` the zone is inserted at the end. * @param idx an index * @param zone a #GstSDPZone * @returns a #GstSDPResult. */ insert_zone(idx: number, zone: SDPZone): SDPResult; /** * Get the number of media descriptions in `msg`. * @returns the number of media descriptions in @msg. */ medias_len(): number; /** * Creates a new #GstMIKEYMessage after parsing the key-mgmt attribute * from a #GstSDPMessage. * @returns a #GstSDPResult. */ parse_keymgmt(): [SDPResult, MIKEYMessage]; /** * Get the number of phones in `msg`. * @returns the number of phones in @msg. */ phones_len(): number; /** * Remove the attribute in `msg` at index `idx`. * @param idx the index * @returns a #GstSDPResult. */ remove_attribute(idx: number): SDPResult; /** * Remove the bandwidth information in `msg` at index `idx`. * @param idx the bandwidth index * @returns a #GstSDPResult. */ remove_bandwidth(idx: number): SDPResult; /** * Remove the email in `msg` at index `idx`. * @param idx an email index * @returns a #GstSDPResult. */ remove_email(idx: number): SDPResult; /** * Remove the media at `idx` from the array of medias in `msg` if found. * @param idx the media index * @returns #GST_SDP_OK when the specified media is found at @idx and removed, #GST_SDP_EINVAL otherwise. */ remove_media(idx: number): SDPResult; /** * Remove the phone number in `msg` at index `idx`. * @param idx a phone index * @returns a #GstSDPResult. */ remove_phone(idx: number): SDPResult; /** * Remove the time information in `msg` at index `idx`. * @param idx the index * @returns a #GstSDPResult. */ remove_time(idx: number): SDPResult; /** * Remove the zone information in `msg` at index `idx`. * @param idx the index * @returns a #GstSDPResult. */ remove_zone(idx: number): SDPResult; /** * Replace the attribute in `msg` at index `idx` with `attr`. * @param idx the index * @param attr a #GstSDPAttribute * @returns a #GstSDPResult. */ replace_attribute(idx: number, attr: SDPAttribute): SDPResult; /** * Replace the bandwidth information in `msg` at index `idx` with `bw`. * @param idx the bandwidth index * @param bw the bandwidth * @returns a #GstSDPResult. */ replace_bandwidth(idx: number, bw: SDPBandwidth): SDPResult; /** * Replace the email in `msg` at index `idx` with `email`. * @param idx an email index * @param email an email * @returns a #GstSDPResult. */ replace_email(idx: number, email: string): SDPResult; /** * Replace the phone number in `msg` at index `idx` with `phone`. * @param idx a phone index * @param phone a phone * @returns a #GstSDPResult. */ replace_phone(idx: number, phone: string): SDPResult; /** * Replace the time information in `msg` at index `idx` with `t`. * @param idx the index * @param t a #GstSDPTime * @returns a #GstSDPResult. */ replace_time(idx: number, t: SDPTime): SDPResult; /** * Replace the zone information in `msg` at index `idx` with `zone`. * @param idx the index * @param zone a #GstSDPZone * @returns a #GstSDPResult. */ replace_zone(idx: number, zone: SDPZone): SDPResult; /** * Configure the SDP connection in `msg` with the given parameters. * @param nettype the type of network. "IN" is defined to have the meaning "Internet". * @param addrtype the type of address. * @param address the address * @param ttl the time to live of the address * @param addr_number the number of layers * @returns a #GstSDPResult. */ set_connection( nettype: string, addrtype: string, address: string, ttl: number, addr_number: number, ): SDPResult; /** * Set the information in `msg`. * @param information the information * @returns a #GstSDPResult. */ set_information(information: string): SDPResult; /** * Adds the encryption information to `msg`. * @param type the encryption type * @param data the encryption data * @returns a #GstSDPResult. */ set_key(type: string, data: string): SDPResult; /** * Configure the SDP origin in `msg` with the given parameters. * @param username the user name * @param sess_id a session id * @param sess_version a session version * @param nettype a network type * @param addrtype an address type * @param addr an address * @returns #GST_SDP_OK. */ set_origin( username: string, sess_id: string, sess_version: string, nettype: string, addrtype: string, addr: string, ): SDPResult; /** * Set the session name in `msg`. * @param session_name the session name * @returns a #GstSDPResult. */ set_session_name(session_name: string): SDPResult; /** * Set the URI in `msg`. * @param uri the URI * @returns a #GstSDPResult. */ set_uri(uri: string): SDPResult; /** * Set the version in `msg`. * @param version the version * @returns a #GstSDPResult. */ set_version(version: string): SDPResult; /** * Get the number of time information entries in `msg`. * @returns the number of time information entries in @msg. */ times_len(): number; /** * Free all resources allocated in `msg`. `msg` should not be used anymore after * this function. This function should be used when `msg` was allocated on the * stack and initialized with gst_sdp_message_init(). * @returns a #GstSDPResult. */ uninit(): SDPResult; /** * Get the number of time zone information entries in `msg`. * @returns the number of time zone information entries in @msg. */ zones_len(): number; } /** * The contents of the SDP "o=" field which gives the originator of the session * (their username and the address of the user's host) plus a session id and * session version number. */ class SDPOrigin { static $gtype: GObject.GType; // Fields username: string; sess_id: string; sess_version: string; nettype: string; addrtype: string; addr: string; // Constructors constructor( properties?: Partial<{ username: string; sess_id: string; sess_version: string; nettype: string; addrtype: string; addr: string; }>, ); _init(...args: any[]): void; } /** * The contents of the SDP "t=" field which specify the start and stop times for * a conference session. */ class SDPTime { static $gtype: GObject.GType; // Fields start: string; stop: string; repeat: any[]; // Constructors constructor( properties?: Partial<{ start: string; stop: string; repeat: any[]; }>, ); _init(...args: any[]): void; // Methods /** * Reset the time information in `t`. * @returns a #GstSDPResult. */ clear(): SDPResult; /** * Set time information `start,` `stop` and `repeat` in `t`. * @param start the start time * @param stop the stop time * @param repeat the repeat times * @returns a #GstSDPResult. */ set(start: string, stop: string, repeat: string[]): SDPResult; } /** * The contents of the SDP "z=" field which allows the sender to * specify a list of time zone adjustments and offsets from the base * time. */ class SDPZone { static $gtype: GObject.GType; // Fields time: string; typed_time: string; // Constructors constructor( properties?: Partial<{ time: string; typed_time: string; }>, ); _init(...args: any[]): void; // Methods /** * Reset the zone information in `zone`. * @returns a #GstSDPResult. */ clear(): SDPResult; /** * Set zone information in `zone`. * @param adj_time the NTP time that a time zone adjustment happens * @param typed_time the offset from the time when the session was first scheduled * @returns a #GstSDPResult. */ set(adj_time: string, typed_time: string): SDPResult; } /** * Name of the imported GIR library * `see` https://gitlab.gnome.org/GNOME/gjs/-/blob/master/gi/ns.cpp#L188 */ const __name__: string; /** * Version of the imported GIR library * `see` https://gitlab.gnome.org/GNOME/gjs/-/blob/master/gi/ns.cpp#L189 */ const __version__: string; } export default GstSdp; } declare module 'gi://GstSdp' { import GstSdp10 from 'gi://GstSdp?version=1.0'; export default GstSdp10; } // END