// Type definitions for Google Google Spectrum Database API v1explorer 1.0 // Project: http://developers.google.com/spectrum // Definitions by: Bolisov Alexey // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 // IMPORTANT // This file was generated by https://github.com/Bolisov/google-api-typings-generator. Please do not edit it manually. // In case of any problems please post issue to https://github.com/Bolisov/google-api-typings-generator // Generated from: https://www.googleapis.com/discovery/v1/apis/spectrum/v1explorer/rest /// declare namespace gapi.client { /** Load Google Spectrum Database API v1explorer */ function load(name: "spectrum", version: "v1explorer"): PromiseLike; function load(name: "spectrum", version: "v1explorer", callback: () => any): void; const paws: spectrum.PawsResource; namespace spectrum { interface AntennaCharacteristics { /** * The antenna height in meters. Whether the antenna height is required depends on the device type and the regulatory domain. Note that the height may be * negative. */ height?: number; /** If the height is required, then the height type (AGL for above ground level or AMSL for above mean sea level) is also required. The default is AGL. */ heightType?: string; /** The height uncertainty in meters. Whether this is required depends on the regulatory domain. */ heightUncertainty?: number; } interface DatabaseSpec { /** The display name for a database. */ name?: string; /** The corresponding URI of the database. */ uri?: string; } interface DbUpdateSpec { /** * A required list of one or more databases. A device should update its preconfigured list of databases to replace (only) the database that provided the * response with the specified entries. */ databases?: DatabaseSpec[]; } interface DeviceCapabilities { /** * An optional list of frequency ranges supported by the device. Each element must contain start and stop frequencies in which the device can operate. * Channel identifiers are optional. When specified, the database should not return available spectrum that falls outside these ranges or channel IDs. */ frequencyRanges?: FrequencyRange[]; } interface DeviceDescriptor { /** * Specifies the ETSI white space device category. Valid values are the strings master and slave. This field is case-insensitive. Consult the ETSI * documentation for details about the device types. */ etsiEnDeviceCategory?: string; /** * Specifies the ETSI white space device emissions class. The values are represented by numeric strings, such as 1, 2, etc. Consult the ETSI documentation * for details about the device types. */ etsiEnDeviceEmissionsClass?: string; /** * Specifies the ETSI white space device type. Valid values are single-letter strings, such as A, B, etc. Consult the ETSI documentation for details about * the device types. */ etsiEnDeviceType?: string; /** * Specifies the ETSI white space device technology identifier. The string value must not exceed 64 characters in length. Consult the ETSI documentation * for details about the device types. */ etsiEnTechnologyId?: string; /** * Specifies the device's FCC certification identifier. The value is an identifier string whose length should not exceed 32 characters. Note that, in * practice, a valid FCC ID may be limited to 19 characters. */ fccId?: string; /** Specifies the TV Band White Space device type, as defined by the FCC. Valid values are FIXED, MODE_1, MODE_2. */ fccTvbdDeviceType?: string; /** * The manufacturer's ID may be required by the regulatory domain. This should represent the name of the device manufacturer, should be consistent across * all devices from the same manufacturer, and should be distinct from that of other manufacturers. The string value must not exceed 64 characters in * length. */ manufacturerId?: string; /** The device's model ID may be required by the regulatory domain. The string value must not exceed 64 characters in length. */ modelId?: string; /** * The list of identifiers for rulesets supported by the device. A database may require that the device provide this list before servicing the device * requests. If the database does not support any of the rulesets specified in the list, the database may refuse to service the device requests. If * present, the list must contain at least one entry. * * For information about the valid requests, see section 9.2 of the PAWS specification. Currently, FccTvBandWhiteSpace-2010 is the only supported ruleset. */ rulesetIds?: string[]; /** The manufacturer's device serial number; required by the applicable regulatory domain. The length of the value must not exceed 64 characters. */ serialNumber?: string; } interface DeviceOwner { /** The vCard contact information for the device operator is optional, but may be required by specific regulatory domains. */ operator?: Vcard; /** The vCard contact information for the individual or business that owns the device is required. */ owner?: Vcard; } interface DeviceValidity { /** The descriptor of the device for which the validity check was requested. It will always be present. */ deviceDesc?: DeviceDescriptor; /** The validity status: true if the device is valid for operation, false otherwise. It will always be present. */ isValid?: boolean; /** * If the device identifier is not valid, the database may include a reason. The reason may be in any language. The length of the value should not exceed * 128 characters. */ reason?: string; } interface EventTime { /** The inclusive start of the event. It will be present. */ startTime?: string; /** The exclusive end of the event. It will be present. */ stopTime?: string; } interface FrequencyRange { /** * The database may include a channel identifier, when applicable. When it is included, the device should treat it as informative. The length of the * identifier should not exceed 16 characters. */ channelId?: string; /** * The maximum total power level (EIRP)—computed over the corresponding operating bandwidth—that is permitted within the frequency range. Depending on the * context in which the frequency-range element appears, this value may be required. For example, it is required in the available-spectrum response, * available-spectrum-batch response, and spectrum-use notification message, but it should not be present (it is not applicable) when the frequency range * appears inside a device-capabilities message. */ maxPowerDBm?: number; /** The required inclusive start of the frequency range (in Hertz). */ startHz?: number; /** The required exclusive end of the frequency range (in Hertz). */ stopHz?: number; } interface GeoLocation { /** * The location confidence level, as an integer percentage, may be required, depending on the regulatory domain. When the parameter is optional and not * provided, its value is assumed to be 95. Valid values range from 0 to 99, since, in practice, 100-percent confidence is not achievable. The confidence * value is meaningful only when geolocation refers to a point with uncertainty. */ confidence?: number; /** * If present, indicates that the geolocation represents a point. Paradoxically, a point is parameterized using an ellipse, where the center represents * the location of the point and the distances along the major and minor axes represent the uncertainty. The uncertainty values may be required, depending * on the regulatory domain. */ point?: GeoLocationEllipse; /** If present, indicates that the geolocation represents a region. Database support for regions is optional. */ region?: GeoLocationPolygon; } interface GeoLocationEllipse { /** A required geo-spatial point representing the center of the ellipse. */ center?: GeoLocationPoint; /** * A floating-point number that expresses the orientation of the ellipse, representing the rotation, in degrees, of the semi-major axis from North towards * the East. For example, when the uncertainty is greatest along the North-South direction, orientation is 0 degrees; conversely, if the uncertainty is * greatest along the East-West direction, orientation is 90 degrees. When orientation is not present, the orientation is assumed to be 0. */ orientation?: number; /** * A floating-point number that expresses the location uncertainty along the major axis of the ellipse. May be required by the regulatory domain. When the * uncertainty is optional, the default value is 0. */ semiMajorAxis?: number; /** * A floating-point number that expresses the location uncertainty along the minor axis of the ellipse. May be required by the regulatory domain. When the * uncertainty is optional, the default value is 0. */ semiMinorAxis?: number; } interface GeoLocationPoint { /** * A required floating-point number that expresses the latitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery * and Mapping Agency's Technical Report TR8350.2. */ latitude?: number; /** * A required floating-point number that expresses the longitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery * and Mapping Agency's Technical Report TR8350.2. */ longitude?: number; } interface GeoLocationPolygon { /** * When the geolocation describes a region, the exterior field refers to a list of latitude/longitude points that represent the vertices of a polygon. The * first and last points must be the same. Thus, a minimum of four points is required. The following polygon restrictions from RFC5491 apply: * - A connecting line shall not cross another connecting line of the same polygon. * - The vertices must be defined in a counterclockwise order. * - The edges of a polygon are defined by the shortest path between two points in space (not a geodesic curve). Consequently, the length between two * adjacent vertices should be restricted to a maximum of 130 km. * - All vertices are assumed to be at the same altitude. * - Polygon shapes should be restricted to a maximum of 15 vertices (16 points that include the repeated vertex). */ exterior?: GeoLocationPoint[]; } interface GeoSpectrumSchedule { /** The geolocation identifies the location at which the spectrum schedule applies. It will always be present. */ location?: GeoLocation; /** * A list of available spectrum profiles and associated times. It will always be present, and at least one schedule must be included (though it may be * empty if there is no available spectrum). More than one schedule may be included to represent future changes to the available spectrum. */ spectrumSchedules?: SpectrumSchedule[]; } interface PawsGetSpectrumBatchRequest { /** Depending on device type and regulatory domain, antenna characteristics may be required. */ antenna?: AntennaCharacteristics; /** * The master device may include its device capabilities to limit the available-spectrum batch response to the spectrum that is compatible with its * capabilities. The database should not return spectrum that is incompatible with the specified capabilities. */ capabilities?: DeviceCapabilities; /** * When the available spectrum request is made on behalf of a specific device (a master or slave device), device descriptor information for the device on * whose behalf the request is made is required (in such cases, the requestType parameter must be empty). When a requestType value is specified, device * descriptor information may be optional or required according to the rules of the applicable regulatory domain. */ deviceDesc?: DeviceDescriptor; /** * A geolocation list is required. This allows a device to specify its current location plus additional anticipated locations when allowed by the * regulatory domain. At least one location must be included. Geolocation must be given as the location of the radiation center of the device's antenna. * If a location specifies a region, rather than a point, the database may return an UNIMPLEMENTED error if it does not support query by region. * * There is no upper limit on the number of locations included in a available spectrum batch request, but the database may restrict the number of * locations it supports by returning a response with fewer locations than specified in the batch request. Note that geolocations must be those of the * master device (a device with geolocation capability that makes an available spectrum batch request), whether the master device is making the request on * its own behalf or on behalf of a slave device (one without geolocation capability). */ locations?: GeoLocation[]; /** * When an available spectrum batch request is made by the master device (a device with geolocation capability) on behalf of a slave device (a device * without geolocation capability), the rules of the applicable regulatory domain may require the master device to provide its own device descriptor * information (in addition to device descriptor information for the slave device in a separate parameter). */ masterDeviceDesc?: DeviceDescriptor; /** * Depending on device type and regulatory domain, device owner information may be included in an available spectrum batch request. This allows the device * to register and get spectrum-availability information in a single request. */ owner?: DeviceOwner; /** * The request type parameter is an optional parameter that can be used to modify an available spectrum batch request, but its use depends on applicable * regulatory rules. For example, It may be used to request generic slave device parameters without having to specify the device descriptor for a specific * device. When the requestType parameter is missing, the request is for a specific device (master or slave), and the device descriptor parameter for the * device on whose behalf the batch request is made is required. */ requestType?: string; /** * The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...). * * Required field. */ type?: string; /** * The PAWS version. Must be exactly 1.0. * * Required field. */ version?: string; } interface PawsGetSpectrumBatchResponse { /** * A database may include the databaseChange parameter to notify a device of a change to its database URI, providing one or more alternate database URIs. * The device should use this information to update its list of pre-configured databases by (only) replacing its entry for the responding database with * the list of alternate URIs. */ databaseChange?: DbUpdateSpec; /** * The database must return in its available spectrum response the device descriptor information it received in the master device's available spectrum * batch request. */ deviceDesc?: DeviceDescriptor; /** * The available spectrum batch response must contain a geo-spectrum schedule list, The list may be empty if spectrum is not available. The database may * return more than one geo-spectrum schedule to represent future changes to the available spectrum. How far in advance a schedule may be provided depends * upon the applicable regulatory domain. The database may return available spectrum for fewer geolocations than requested. The device must not make * assumptions about the order of the entries in the list, and must use the geolocation value in each geo-spectrum schedule entry to match available * spectrum to a location. */ geoSpectrumSchedules?: GeoSpectrumSchedule[]; /** Identifies what kind of resource this is. Value: the fixed string "spectrum#pawsGetSpectrumBatchResponse". */ kind?: string; /** * The database may return a constraint on the allowed maximum contiguous bandwidth (in Hertz). A regulatory domain may require the database to return * this parameter. When this parameter is present in the response, the device must apply this constraint to its spectrum-selection logic to ensure that no * single block of spectrum has bandwidth that exceeds this value. */ maxContiguousBwHz?: number; /** * The database may return a constraint on the allowed maximum total bandwidth (in Hertz), which does not need to be contiguous. A regulatory domain may * require the database to return this parameter. When this parameter is present in the available spectrum batch response, the device must apply this * constraint to its spectrum-selection logic to ensure that total bandwidth does not exceed this value. */ maxTotalBwHz?: number; /** * For regulatory domains that require a spectrum-usage report from devices, the database must return true for this parameter if the geo-spectrum * schedules list is not empty; otherwise, the database should either return false or omit this parameter. If this parameter is present and its value is * true, the device must send a spectrum use notify message to the database; otherwise, the device should not send the notification. */ needsSpectrumReport?: boolean; /** * The database should return ruleset information, which identifies the applicable regulatory authority and ruleset for the available spectrum batch * response. If included, the device must use the corresponding ruleset to interpret the response. Values provided in the returned ruleset information, * such as maxLocationChange, take precedence over any conflicting values provided in the ruleset information returned in a prior initialization response * sent by the database to the device. */ rulesetInfo?: RulesetInfo; /** * The database includes a timestamp of the form, YYYY-MM-DDThh:mm:ssZ (Internet timestamp format per RFC3339), in its available spectrum batch response. * The timestamp should be used by the device as a reference for the start and stop times specified in the response spectrum schedules. */ timestamp?: string; /** * The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...). * * Required field. */ type?: string; /** * The PAWS version. Must be exactly 1.0. * * Required field. */ version?: string; } interface PawsGetSpectrumRequest { /** Depending on device type and regulatory domain, the characteristics of the antenna may be required. */ antenna?: AntennaCharacteristics; /** * The master device may include its device capabilities to limit the available-spectrum response to the spectrum that is compatible with its * capabilities. The database should not return spectrum that is incompatible with the specified capabilities. */ capabilities?: DeviceCapabilities; /** * When the available spectrum request is made on behalf of a specific device (a master or slave device), device descriptor information for that device is * required (in such cases, the requestType parameter must be empty). When a requestType value is specified, device descriptor information may be optional * or required according to the rules of the applicable regulatory domain. */ deviceDesc?: DeviceDescriptor; /** * The geolocation of the master device (a device with geolocation capability that makes an available spectrum request) is required whether the master * device is making the request on its own behalf or on behalf of a slave device (one without geolocation capability). The location must be the location * of the radiation center of the master device's antenna. To support mobile devices, a regulatory domain may allow the anticipated position of the master * device to be given instead. If the location specifies a region, rather than a point, the database may return an UNIMPLEMENTED error code if it does not * support query by region. */ location?: GeoLocation; /** * When an available spectrum request is made by the master device (a device with geolocation capability) on behalf of a slave device (a device without * geolocation capability), the rules of the applicable regulatory domain may require the master device to provide its own device descriptor information * (in addition to device descriptor information for the slave device, which is provided in a separate parameter). */ masterDeviceDesc?: DeviceDescriptor; /** * Depending on device type and regulatory domain, device owner information may be included in an available spectrum request. This allows the device to * register and get spectrum-availability information in a single request. */ owner?: DeviceOwner; /** * The request type parameter is an optional parameter that can be used to modify an available spectrum request, but its use depends on applicable * regulatory rules. It may be used, for example, to request generic slave device parameters without having to specify the device descriptor for a * specific device. When the requestType parameter is missing, the request is for a specific device (master or slave), and the deviceDesc parameter for * the device on whose behalf the request is made is required. */ requestType?: string; /** * The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...). * * Required field. */ type?: string; /** * The PAWS version. Must be exactly 1.0. * * Required field. */ version?: string; } interface PawsGetSpectrumResponse { /** * A database may include the databaseChange parameter to notify a device of a change to its database URI, providing one or more alternate database URIs. * The device should use this information to update its list of pre-configured databases by (only) replacing its entry for the responding database with * the list of alternate URIs. */ databaseChange?: DbUpdateSpec; /** * The database must return, in its available spectrum response, the device descriptor information it received in the master device's available spectrum * request. */ deviceDesc?: DeviceDescriptor; /** Identifies what kind of resource this is. Value: the fixed string "spectrum#pawsGetSpectrumResponse". */ kind?: string; /** * The database may return a constraint on the allowed maximum contiguous bandwidth (in Hertz). A regulatory domain may require the database to return * this parameter. When this parameter is present in the response, the device must apply this constraint to its spectrum-selection logic to ensure that no * single block of spectrum has bandwidth that exceeds this value. */ maxContiguousBwHz?: number; /** * The database may return a constraint on the allowed maximum total bandwidth (in Hertz), which need not be contiguous. A regulatory domain may require * the database to return this parameter. When this parameter is present in the available spectrum response, the device must apply this constraint to its * spectrum-selection logic to ensure that total bandwidth does not exceed this value. */ maxTotalBwHz?: number; /** * For regulatory domains that require a spectrum-usage report from devices, the database must return true for this parameter if the spectrum schedule * list is not empty; otherwise, the database will either return false or omit this parameter. If this parameter is present and its value is true, the * device must send a spectrum use notify message to the database; otherwise, the device must not send the notification. */ needsSpectrumReport?: boolean; /** * The database should return ruleset information, which identifies the applicable regulatory authority and ruleset for the available spectrum response. * If included, the device must use the corresponding ruleset to interpret the response. Values provided in the returned ruleset information, such as * maxLocationChange, take precedence over any conflicting values provided in the ruleset information returned in a prior initialization response sent by * the database to the device. */ rulesetInfo?: RulesetInfo; /** * The available spectrum response must contain a spectrum schedule list. The list may be empty if spectrum is not available. The database may return more * than one spectrum schedule to represent future changes to the available spectrum. How far in advance a schedule may be provided depends on the * applicable regulatory domain. */ spectrumSchedules?: SpectrumSchedule[]; /** * The database includes a timestamp of the form YYYY-MM-DDThh:mm:ssZ (Internet timestamp format per RFC3339) in its available spectrum response. The * timestamp should be used by the device as a reference for the start and stop times specified in the response spectrum schedules. */ timestamp?: string; /** * The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...). * * Required field. */ type?: string; /** * The PAWS version. Must be exactly 1.0. * * Required field. */ version?: string; } interface PawsInitRequest { /** * The DeviceDescriptor parameter is required. If the database does not support the device or any of the rulesets specified in the device descriptor, it * must return an UNSUPPORTED error code in the error response. */ deviceDesc?: DeviceDescriptor; /** A device's geolocation is required. */ location?: GeoLocation; /** * The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...). * * Required field. */ type?: string; /** * The PAWS version. Must be exactly 1.0. * * Required field. */ version?: string; } interface PawsInitResponse { /** * A database may include the databaseChange parameter to notify a device of a change to its database URI, providing one or more alternate database URIs. * The device should use this information to update its list of pre-configured databases by (only) replacing its entry for the responding database with * the list of alternate URIs. */ databaseChange?: DbUpdateSpec; /** Identifies what kind of resource this is. Value: the fixed string "spectrum#pawsInitResponse". */ kind?: string; /** * The rulesetInfo parameter must be included in the response. This parameter specifies the regulatory domain and parameters applicable to that domain. * The database must include the authority field, which defines the regulatory domain for the location specified in the INIT_REQ message. */ rulesetInfo?: RulesetInfo; /** * The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...). * * Required field. */ type?: string; /** * The PAWS version. Must be exactly 1.0. * * Required field. */ version?: string; } interface PawsNotifySpectrumUseRequest { /** Device descriptor information is required in the spectrum-use notification message. */ deviceDesc?: DeviceDescriptor; /** * The geolocation of the master device (the device that is sending the spectrum-use notification) to the database is required in the spectrum-use * notification message. */ location?: GeoLocation; /** * A spectrum list is required in the spectrum-use notification. The list specifies the spectrum that the device expects to use, which includes frequency * ranges and maximum power levels. The list may be empty if the device decides not to use any of spectrum. For consistency, the psdBandwidthHz value * should match that from one of the spectrum elements in the corresponding available spectrum response previously sent to the device by the database. * Note that maximum power levels in the spectrum element must be expressed as power spectral density over the specified psdBandwidthHz value. The actual * bandwidth to be used (as computed from the start and stop frequencies) may be different from the psdBandwidthHz value. As an example, when regulatory * rules express maximum power spectral density in terms of maximum power over any 100 kHz band, then the psdBandwidthHz value should be set to 100 kHz, * even though the actual bandwidth used can be 20 kHz. */ spectra?: SpectrumMessage[]; /** * The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...). * * Required field. */ type?: string; /** * The PAWS version. Must be exactly 1.0. * * Required field. */ version?: string; } interface PawsNotifySpectrumUseResponse { /** Identifies what kind of resource this is. Value: the fixed string "spectrum#pawsNotifySpectrumUseResponse". */ kind?: string; /** * The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...). * * Required field. */ type?: string; /** * The PAWS version. Must be exactly 1.0. * * Required field. */ version?: string; } interface PawsRegisterRequest { /** Antenna characteristics, including its height and height type. */ antenna?: AntennaCharacteristics; /** A DeviceDescriptor is required. */ deviceDesc?: DeviceDescriptor; /** Device owner information is required. */ deviceOwner?: DeviceOwner; /** A device's geolocation is required. */ location?: GeoLocation; /** * The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...). * * Required field. */ type?: string; /** * The PAWS version. Must be exactly 1.0. * * Required field. */ version?: string; } interface PawsRegisterResponse { /** * A database may include the databaseChange parameter to notify a device of a change to its database URI, providing one or more alternate database URIs. * The device should use this information to update its list of pre-configured databases by (only) replacing its entry for the responding database with * the list of alternate URIs. */ databaseChange?: DbUpdateSpec; /** Identifies what kind of resource this is. Value: the fixed string "spectrum#pawsRegisterResponse". */ kind?: string; /** * The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...). * * Required field. */ type?: string; /** * The PAWS version. Must be exactly 1.0. * * Required field. */ version?: string; } interface PawsVerifyDeviceRequest { /** A list of device descriptors, which specifies the slave devices to be validated, is required. */ deviceDescs?: DeviceDescriptor[]; /** * The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...). * * Required field. */ type?: string; /** * The PAWS version. Must be exactly 1.0. * * Required field. */ version?: string; } interface PawsVerifyDeviceResponse { /** * A database may include the databaseChange parameter to notify a device of a change to its database URI, providing one or more alternate database URIs. * The device should use this information to update its list of pre-configured databases by (only) replacing its entry for the responding database with * the list of alternate URIs. */ databaseChange?: DbUpdateSpec; /** * A device validities list is required in the device validation response to report whether each slave device listed in a previous device validation * request is valid. The number of entries must match the number of device descriptors listed in the previous device validation request. */ deviceValidities?: DeviceValidity[]; /** Identifies what kind of resource this is. Value: the fixed string "spectrum#pawsVerifyDeviceResponse". */ kind?: string; /** * The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...). * * Required field. */ type?: string; /** * The PAWS version. Must be exactly 1.0. * * Required field. */ version?: string; } interface RulesetInfo { /** * The regulatory domain to which the ruleset belongs is required. It must be a 2-letter country code. The device should use this to determine additional * device behavior required by the associated regulatory domain. */ authority?: string; /** * The maximum location change in meters is required in the initialization response, but optional otherwise. When the device changes location by more than * this specified distance, it must contact the database to get the available spectrum for the new location. If the device is using spectrum that is no * longer available, it must immediately cease use of the spectrum under rules for database-managed spectrum. If this value is provided within the context * of an available-spectrum response, it takes precedence over the value within the initialization response. */ maxLocationChange?: number; /** * The maximum duration, in seconds, between requests for available spectrum. It is required in the initialization response, but optional otherwise. The * device must contact the database to get available spectrum no less frequently than this duration. If the new spectrum information indicates that the * device is using spectrum that is no longer available, it must immediately cease use of those frequencies under rules for database-managed spectrum. If * this value is provided within the context of an available-spectrum response, it takes precedence over the value within the initialization response. */ maxPollingSecs?: number; /** * The identifiers of the rulesets supported for the device's location. The database should include at least one applicable ruleset in the initialization * response. The device may use the ruleset identifiers to determine parameters to include in subsequent requests. Within the context of the * available-spectrum responses, the database should include the identifier of the ruleset that it used to determine the available-spectrum response. If * included, the device must use the specified ruleset to interpret the response. If the device does not support the indicated ruleset, it must not * operate in the spectrum governed by the ruleset. */ rulesetIds?: string[]; } interface SpectrumMessage { /** * The bandwidth (in Hertz) for which permissible power levels are specified. For example, FCC regulation would require only one spectrum specification at * 6MHz bandwidth, but Ofcom regulation would require two specifications, at 0.1MHz and 8MHz. This parameter may be empty if there is no available * spectrum. It will be present otherwise. */ bandwidth?: number; /** The list of frequency ranges and permissible power levels. The list may be empty if there is no available spectrum, otherwise it will be present. */ frequencyRanges?: FrequencyRange[]; } interface SpectrumSchedule { /** The event time expresses when the spectrum profile is valid. It will always be present. */ eventTime?: EventTime; /** A list of spectrum messages representing the usable profile. It will always be present, but may be empty when there is no available spectrum. */ spectra?: SpectrumMessage[]; } interface Vcard { /** The street address of the entity. */ adr?: VcardAddress; /** An email address that can be used to reach the contact. */ email?: VcardTypedText; /** The full name of the contact person. For example: John A. Smith. */ fn?: string; /** The organization associated with the registering entity. */ org?: VcardTypedText; /** A telephone number that can be used to call the contact. */ tel?: VcardTelephone; } interface VcardAddress { /** The postal code associated with the address. For example: 94423. */ code?: string; /** The country name. For example: US. */ country?: string; /** The city or local equivalent portion of the address. For example: San Jose. */ locality?: string; /** An optional post office box number. */ pobox?: string; /** The state or local equivalent portion of the address. For example: CA. */ region?: string; /** The street number and name. For example: 123 Any St. */ street?: string; } interface VcardTelephone { /** A nested telephone URI of the form: tel:+1-123-456-7890. */ uri?: string; } interface VcardTypedText { /** The text string associated with this item. For example, for an org field: ACME, inc. For an email field: smith@example.com. */ text?: string; } interface PawsResource { /** * Requests information about the available spectrum for a device at a location. Requests from a fixed-mode device must include owner information so the * device can be registered with the database. */ getSpectrum(request: { /** Data format for the response. */ alt?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. * Overrides userIp if both are provided. */ quotaUser?: string; /** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */ userIp?: string; }): Request; /** The Google Spectrum Database does not support batch requests, so this method always yields an UNIMPLEMENTED error. */ getSpectrumBatch(request: { /** Data format for the response. */ alt?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. * Overrides userIp if both are provided. */ quotaUser?: string; /** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */ userIp?: string; }): Request; /** Initializes the connection between a white space device and the database. */ init(request: { /** Data format for the response. */ alt?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. * Overrides userIp if both are provided. */ quotaUser?: string; /** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */ userIp?: string; }): Request; /** * Notifies the database that the device has selected certain frequency ranges for transmission. Only to be invoked when required by the regulator. The * Google Spectrum Database does not operate in domains that require notification, so this always yields an UNIMPLEMENTED error. */ notifySpectrumUse(request: { /** Data format for the response. */ alt?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. * Overrides userIp if both are provided. */ quotaUser?: string; /** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */ userIp?: string; }): Request; /** The Google Spectrum Database implements registration in the getSpectrum method. As such this always returns an UNIMPLEMENTED error. */ register(request: { /** Data format for the response. */ alt?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. * Overrides userIp if both are provided. */ quotaUser?: string; /** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */ userIp?: string; }): Request; /** * Validates a device for white space use in accordance with regulatory rules. The Google Spectrum Database does not support master/slave configurations, * so this always yields an UNIMPLEMENTED error. */ verifyDevice(request: { /** Data format for the response. */ alt?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. * Overrides userIp if both are provided. */ quotaUser?: string; /** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */ userIp?: string; }): Request; } } }