/// /// /// /// /** * 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://AppStream?version=1.0' { // Module dependencies import type Gio from 'gi://Gio?version=2.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 AppStream { /** * AppStream-1.0 */ /** * The kind of the agreement. */ /** * The kind of the agreement. */ export namespace AgreementKind { export const $gtype: GObject.GType; } enum AgreementKind { /** * Unknown value */ UNKNOWN, /** * A generic agreement without a specific type */ GENERIC, /** * An End User License Agreement */ EULA, /** * A privacy agreement, typically a GDPR statement */ PRIVACY, } /** * The artifact type. */ /** * The artifact type. */ export namespace ArtifactKind { export const $gtype: GObject.GType; } enum ArtifactKind { /** * Type invalid or not known */ UNKNOWN, /** * The artifact describes software sources. */ SOURCE, /** * The artifact describes a binary distribution of the component. */ BINARY, } /** * The bundle type. */ /** * The bundle type. */ export namespace BundleKind { export const $gtype: GObject.GType; } enum BundleKind { /** * Type invalid or not known */ UNKNOWN, /** * A native package (currently not used) */ PACKAGE, /** * A Limba bundle */ LIMBA, /** * A Flatpak bundle */ FLATPAK, /** * An AppImageKit bundle */ APPIMAGE, /** * A Snap/Snappy bundle */ SNAP, /** * A (maybe compressed) tarball. */ TARBALL, /** * Cabinet firmware deployment */ CABINET, /** * A Linglong bundle */ LINGLONG, /** * A systemd-sysupdate bundle */ SYSUPDATE, } /** * The type of chassis a computing device is built into. */ /** * The type of chassis a computing device is built into. */ export namespace ChassisKind { export const $gtype: GObject.GType; } enum ChassisKind { /** * Unknown chassis. */ UNKNOWN, /** * A desktop/workstation */ DESKTOP, /** * A mobile computer with a bigger screen / laptop */ LAPTOP, /** * A server, often without GUI */ SERVER, /** * A tablet with touch as primary input method */ TABLET, /** * A smaller touch-input device, like a smartphone */ HANDSET, } /** * Result of a check operation. */ /** * Result of a check operation. */ export namespace CheckResult { export const $gtype: GObject.GType; } enum CheckResult { /** * The check failed. */ ERROR, /** * The outcome could not be determined. */ UNKNOWN, /** * False/No */ FALSE, /** * True/Yes */ TRUE, } /** * Checksums supported by #AsRelease */ /** * Checksums supported by #AsRelease */ export namespace ChecksumKind { export const $gtype: GObject.GType; } enum ChecksumKind { /** * No checksum */ NONE, /** * SHA1 checksum */ SHA1, /** * SHA256 checksum */ SHA256, /** * SHA512 checksum */ SHA512, /** * BLAKE2 checksum */ BLAKE2B, /** * BLAKE3 checksum */ BLAKE3, } /** * A branding color type. */ /** * A branding color type. */ export namespace ColorKind { export const $gtype: GObject.GType; } enum ColorKind { /** * Color type invalid or not known */ UNKNOWN, /** * Primary accent color */ PRIMARY, } /** * A color scheme type. */ /** * A color scheme type. */ export namespace ColorSchemeKind { export const $gtype: GObject.GType; } enum ColorSchemeKind { /** * Color scheme invalid or not known */ UNKNOWN, /** * A light color scheme */ LIGHT, /** * A dark color scheme */ DARK, } /** * The type of an #AsComponent. */ /** * The type of an #AsComponent. */ export namespace ComponentKind { export const $gtype: GObject.GType; } enum ComponentKind { /** * Type invalid or not known */ UNKNOWN, /** * A generic (= without specialized type) component */ GENERIC, /** * An application with a .desktop-file */ DESKTOP_APP, /** * A console application */ CONSOLE_APP, /** * A web application */ WEB_APP, /** * A system service launched by the init system */ SERVICE, /** * An extension of existing software, which does not run standalone */ ADDON, /** * An application runtime platform */ RUNTIME, /** * A font */ FONT, /** * A multimedia codec */ CODEC, /** * An input-method provider */ INPUT_METHOD, /** * A computer operating system */ OPERATING_SYSTEM, /** * Firmware */ FIRMWARE, /** * A driver */ DRIVER, /** * Software localization (usually l10n resources) */ LOCALIZATION, /** * A remote software or data source */ REPOSITORY, /** * An icon theme following the XDG specification */ ICON_THEME, } /** * Scope of the #AsComponent (system-wide or user-scope) */ /** * Scope of the #AsComponent (system-wide or user-scope) */ export namespace ComponentScope { export const $gtype: GObject.GType; } enum ComponentScope { /** * Unknown scope */ UNKNOWN, /** * System scope */ SYSTEM, /** * User scope */ USER, } /** * A content rating system for a particular territory. */ /** * A content rating system for a particular territory. */ export namespace ContentRatingSystem { export const $gtype: GObject.GType; } enum ContentRatingSystem { /** * Unknown ratings system */ UNKNOWN, /** * INCAA */ INCAA, /** * ACB */ ACB, /** * DJCTQ */ DJCTQ, /** * GSRR */ GSRR, /** * PEGI */ PEGI, /** * KAVI */ KAVI, /** * USK */ USK, /** * ESRA */ ESRA, /** * CERO */ CERO, /** * OFLCNZ */ OFLCNZ, /** * Russia */ RUSSIA, /** * MDA */ MDA, /** * GRAC */ GRAC, /** * ESRB */ ESRB, /** * IARC */ IARC, } /** * The specified level of an content_rating rating ID. */ /** * The specified level of an content_rating rating ID. */ export namespace ContentRatingValue { export const $gtype: GObject.GType; } enum ContentRatingValue { /** * Unknown value */ UNKNOWN, /** * None */ NONE, /** * A small amount */ MILD, /** * A moderate amount */ MODERATE, /** * An intense amount */ INTENSE, } /** * Kind of an input method for users to control software */ /** * Kind of an input method for users to control software */ export namespace ControlKind { export const $gtype: GObject.GType; } enum ControlKind { /** * Unknown kind */ UNKNOWN, /** * Mouse/cursors/other precision pointing device */ POINTING, /** * Keyboard input */ KEYBOARD, /** * Console / command-line interface */ CONSOLE, /** * Touch input */ TOUCH, /** * Gamepad input (any game controller with wheels/buttons/joysticks) */ GAMEPAD, /** * Control via voice recognition/activation */ VOICE, /** * Computer vision / visual object and sign detection */ VISION, /** * Input via a television remote */ TV_REMOTE, /** * Graphics tablet input */ TABLET, } /** * Side a display_length requirement is for. */ /** * Side a display_length requirement is for. */ export namespace DisplaySideKind { export const $gtype: GObject.GType; } enum DisplaySideKind { /** * Unknown */ UNKNOWN, /** * Shortest side of the display rectangle. */ SHORTEST, /** * Longest side of the display rectangle. */ LONGEST, } /** * Format of the AppStream metadata. */ /** * Format of the AppStream metadata. */ export namespace FormatKind { export const $gtype: GObject.GType; } enum FormatKind { /** * Unknown metadata format. */ UNKNOWN, /** * AppStream XML metadata. */ XML, /** * AppStream YAML (DEP-11) metadata. */ YAML, /** * XDG Desktop Entry data. */ DESKTOP_ENTRY, } /** * There are a few differences between AppStream's metainfo files (shipped by upstream projects) * and the catalog metadata (shipped by distributors). * The data source kind indicates which style we should process. * Usually you do not want to set this explicitly. */ /** * There are a few differences between AppStream's metainfo files (shipped by upstream projects) * and the catalog metadata (shipped by distributors). * The data source kind indicates which style we should process. * Usually you do not want to set this explicitly. */ export namespace FormatStyle { export const $gtype: GObject.GType; } enum FormatStyle { /** * The format style is unknown. */ UNKNOWN, /** * Parse AppStream upstream metadata (metainfo files) */ METAINFO, /** * Parse AppStream metadata catalog (shipped by software distributors) */ CATALOG, } /** * Format version / API level of the AppStream metadata. */ /** * Format version / API level of the AppStream metadata. */ export namespace FormatVersion { export const $gtype: GObject.GType; } enum FormatVersion { /** * Unknown format version */ UNKNOWN, /** * 1 */ V1_0, } /** * The icon type. */ /** * The icon type. */ export namespace IconKind { export const $gtype: GObject.GType; } enum IconKind { /** * Unknown icon kind */ UNKNOWN, /** * Stock icon name */ STOCK, /** * Icon in the internal caches */ CACHED, /** * Local icon name */ LOCAL, /** * Remote icon URL */ REMOTE, } /** * The image type. */ /** * The image type. */ export namespace ImageKind { export const $gtype: GObject.GType; } enum ImageKind { /** * Type invalid or not known */ UNKNOWN, /** * The source image at full resolution */ SOURCE, /** * A thumbnail at reduced resolution */ THUMBNAIL, } /** * Different internet connectivity requirements or recommendations for an * application. */ /** * Different internet connectivity requirements or recommendations for an * application. */ export namespace InternetKind { export const $gtype: GObject.GType; } enum InternetKind { /** * Unknown */ UNKNOWN, /** * Always requires/recommends internet */ ALWAYS, /** * Application is offline-only */ OFFLINE_ONLY, /** * Requires/Recommends internet on first run only */ FIRST_RUN, } /** * Checksums supported by #AsRelease */ /** * Checksums supported by #AsRelease */ export namespace IssueKind { export const $gtype: GObject.GType; } enum IssueKind { /** * Unknown issue type */ UNKNOWN, /** * Generic issue type */ GENERIC, /** * Common Vulnerabilities and Exposures issue */ CVE, } /** * The severity of an issue found by #AsValidator */ /** * The severity of an issue found by #AsValidator */ export namespace IssueSeverity { export const $gtype: GObject.GType; } enum IssueSeverity { /** * The severity is unknown. */ UNKNOWN, /** * Pedantic information about ways to improve the data, but could also be ignored. */ PEDANTIC, /** * Non-essential information on how to improve metadata, no immediate action needed. */ INFO, /** * Something metadata issue which should be fixed as soon as possible. */ WARNING, /** * There is a serious, fatal error in your metadata */ ERROR, } /** * Type of launch system the entries belong to. */ /** * Type of launch system the entries belong to. */ export namespace LaunchableKind { export const $gtype: GObject.GType; } enum LaunchableKind { /** * Unknown kind */ UNKNOWN, /** * Launch by desktop-id */ DESKTOP_ID, /** * A systemd/SysV-init service name */ SERVICE, /** * A Cockpit manifest / package name */ COCKPIT_MANIFEST, /** * A web HTTPS URL to launch a web application from */ URL, } /** * Text markup types. */ /** * Text markup types. */ export namespace MarkupKind { export const $gtype: GObject.GType; } enum MarkupKind { /** * Unknown markup. */ UNKNOWN, /** * XML markup. */ XML, /** * Simple text with unicode symbols. */ TEXT, /** * Markdown */ MARKDOWN, } /** * Defines how #AsComponent data should be merged if the component is * set for merge. */ /** * Defines how #AsComponent data should be merged if the component is * set for merge. */ export namespace MergeKind { export const $gtype: GObject.GType; } enum MergeKind { /** * No merge is happening. */ NONE, /** * Merge replacing data of target. */ REPLACE, /** * Merge appending data to target. */ APPEND, /** * Remove the entire component if it matches. */ REMOVE_COMPONENT, } /** * A metadata processing error. */ class MetadataError extends GLib.Error { static $gtype: GObject.GType; // Static fields /** * Generic failure. */ static FAILED: number; /** * Unable to parse the metadata file. */ static PARSE: number; /** * Expected catalog metadata but got metainfo metadata, or vice versa. */ static FORMAT_UNEXPECTED: number; /** * We expected a component in the pool, but couldn't find one. */ static NO_COMPONENT: number; /** * A essential value is missing in the source document. */ static VALUE_MISSING: number; // Constructors constructor(options: { message: string; code: number }); _init(...args: any[]): void; // Static methods static quark(): GLib.Quark; } /** * The flags used when installing and removing metadata files. */ /** * The flags used when installing and removing metadata files. */ export namespace MetadataLocation { export const $gtype: GObject.GType; } enum MetadataLocation { /** * An unknown/invalid location. */ UNKNOWN, /** * Installed by the vendor, shared */ SHARED, /** * Installed as metadata into /var/lib, shared */ STATE, /** * Installed as metadata into /var/cache, shared */ CACHE, /** * Installed for the current user */ USER, } /** * A metadata pool error. */ class PoolError extends GLib.Error { static $gtype: GObject.GType; // Static fields /** * Generic failure */ static FAILED: number; /** * The pool was loaded, but we had to ignore some metadata. */ static INCOMPLETE: number; /** * An AppStream-ID collision occured (a component with that ID already existed in the pool) */ static COLLISION: number; /** * Unable to write to *any* cache file (not even tmpfs writes worked) */ static CACHE_WRITE_FAILED: number; /** * The disk cache was broken and we could not automatically recover. */ static CACHE_DAMAGED: number; // Constructors constructor(options: { message: string; code: number }); _init(...args: any[]): void; // Static methods static quark(): GLib.Quark; } /** * Type of the public interface components can provide. */ /** * Type of the public interface components can provide. */ export namespace ProvidedKind { export const $gtype: GObject.GType; } enum ProvidedKind { /** * Unknown kind */ UNKNOWN, /** * A shared library */ LIBRARY, /** * A binary installed into a directory in PATH */ BINARY, /** * Provides a handler for a mimetype */ MEDIATYPE, /** * A font */ FONT, /** * A modalias */ MODALIAS, /** * A Python 3 module */ PYTHON, /** * A DBus service name on the system bus. */ DBUS_SYSTEM, /** * A DBus service name on the user/session bus. */ DBUS_USER, /** * Firmware flashed at runtime. */ FIRMWARE_RUNTIME, /** * Firmware flashed permanently to the device. */ FIRMWARE_FLASHED, /** * An AppStream component */ ID, } /** * A reference type. */ /** * A reference type. */ export namespace ReferenceKind { export const $gtype: GObject.GType; } enum ReferenceKind { /** * Unknown reference kind. */ UNKNOWN, /** * Digital Object Identifier */ DOI, /** * Web URL to a Citation File Format file */ CITATION_CFF, /** * A generic registry. */ REGISTRY, } /** * The relational comparison type. */ /** * The relational comparison type. */ export namespace RelationCompare { export const $gtype: GObject.GType; } enum RelationCompare { /** * Comparison predicate invalid or not known */ UNKNOWN, /** * Equal to */ EQ, /** * Not equal to */ NE, /** * Less than */ LT, /** * Greater than */ GT, /** * Less than or equal to */ LE, /** * Greater than or equal to */ GE, } /** * The error type. */ class RelationError extends GLib.Error { static $gtype: GObject.GType; // Static fields /** * Generic failure */ static FAILED: number; /** * A metadata value was bad. */ static BAD_VALUE: number; /** * Some check was not (yet) implemented. */ static NOT_IMPLEMENTED: number; // Constructors constructor(options: { message: string; code: number }); _init(...args: any[]): void; // Static methods static quark(): GLib.Quark; } /** * Type of the item an #AsRelation is for. */ /** * Type of the item an #AsRelation is for. */ export namespace RelationItemKind { export const $gtype: GObject.GType; } enum RelationItemKind { /** * Unknown kind */ UNKNOWN, /** * A component ID */ ID, /** * A hardware modalias */ MODALIAS, /** * An operating system kernel (like Linux) */ KERNEL, /** * A system RAM requirement */ MEMORY, /** * A device firmware requirement (used by fwupd) */ FIRMWARE, /** * An input method for users to control software */ CONTROL, /** * Display edge length */ DISPLAY_LENGTH, /** * A Computer Hardware ID (CHID) to depend on system hardware */ HARDWARE, /** * Internet connectivity (Since: 0.15.5) */ INTERNET, } /** * Type of a component's relation to other items. */ /** * Type of a component's relation to other items. */ export namespace RelationKind { export const $gtype: GObject.GType; } enum RelationKind { /** * Unknown kind */ UNKNOWN, /** * The referenced item is required by the component */ REQUIRES, /** * The referenced item is recommended */ RECOMMENDS, /** * The referenced item is supported */ SUPPORTS, } /** * Status of a relation check result. */ /** * Status of a relation check result. */ export namespace RelationStatus { export const $gtype: GObject.GType; } enum RelationStatus { /** * Unknown status. */ UNKNOWN, /** * An error occured and the status could not be checked. */ ERROR, /** * The relation is not satisfied. */ NOT_SATISFIED, /** * The relation is satisfied. */ SATISFIED, } /** * The release kind. */ /** * The release kind. */ export namespace ReleaseKind { export const $gtype: GObject.GType; } enum ReleaseKind { /** * Unknown release type */ UNKNOWN, /** * A stable release for end-users */ STABLE, /** * A development release or pre-release for testing */ DEVELOPMENT, /** * A snapshot of a software being worked on */ SNAPSHOT, } /** * The kind of a releases block. */ /** * The kind of a releases block. */ export namespace ReleaseListKind { export const $gtype: GObject.GType; } enum ReleaseListKind { /** * Unknown releases type */ UNKNOWN, /** * Release info is embedded in metainfo file */ EMBEDDED, /** * Release info is split to a separate file */ EXTERNAL, } /** * `AS_RELEASE_URL_KIND_UNKNOWN` Unknown release web URL type * The release URL kinds. */ /** * `AS_RELEASE_URL_KIND_UNKNOWN` Unknown release web URL type * The release URL kinds. */ export namespace ReleaseUrlKind { export const $gtype: GObject.GType; } enum ReleaseUrlKind { UNKNOWN, /** * Weblink to detailed release notes. */ DETAILS, } /** * The screenshot type. */ /** * The screenshot type. */ export namespace ScreenshotKind { export const $gtype: GObject.GType; } enum ScreenshotKind { /** * Type invalid or not known */ UNKNOWN, /** * The primary screenshot to show by default */ DEFAULT, /** * Optional screenshot */ EXTRA, } /** * The media kind contained in this screenshot. */ /** * The media kind contained in this screenshot. */ export namespace ScreenshotMediaKind { export const $gtype: GObject.GType; } enum ScreenshotMediaKind { /** * Media kind is unknown */ UNKNOWN, /** * The screenshot contains images */ IMAGE, /** * The screenshot contains videos */ VIDEO, } /** * The artifact size kind. */ /** * The artifact size kind. */ export namespace SizeKind { export const $gtype: GObject.GType; } enum SizeKind { /** * Unknown size */ UNKNOWN, /** * Size of download of component */ DOWNLOAD, /** * Size of installed component */ INSTALLED, } /** * The suggested type. */ /** * The suggested type. */ export namespace SuggestedKind { export const $gtype: GObject.GType; } enum SuggestedKind { /** * Unknown suggested kind */ UNKNOWN, /** * Suggestions provided by the upstream project. */ UPSTREAM, /** * Suggestions provided by automatic heuristics. */ HEURISTIC, } /** * The error type. */ class SystemInfoError extends GLib.Error { static $gtype: GObject.GType; // Static fields /** * Generic failure */ static FAILED: number; /** * Information was not found. */ static NOT_FOUND: number; // Constructors constructor(options: { message: string; code: number }); _init(...args: any[]): void; // Static methods static quark(): GLib.Quark; } /** * The translation type. */ /** * The translation type. */ export namespace TranslationKind { export const $gtype: GObject.GType; } enum TranslationKind { /** * Type invalid or not known */ UNKNOWN, /** * Gettext translation domain */ GETTEXT, /** * Qt translation domain */ QT, } /** * The urgency of an #AsRelease */ /** * The urgency of an #AsRelease */ export namespace UrgencyKind { export const $gtype: GObject.GType; } enum UrgencyKind { /** * Urgency is unknown or not set */ UNKNOWN, /** * Low urgency */ LOW, /** * Medium urgency */ MEDIUM, /** * High urgency */ HIGH, /** * Critical urgency */ CRITICAL, } /** * The URL type. */ /** * The URL type. */ export namespace UrlKind { export const $gtype: GObject.GType; } enum UrlKind { /** * Type invalid or not known */ UNKNOWN, /** * Project homepage */ HOMEPAGE, /** * Bugtracker */ BUGTRACKER, /** * FAQ page */ FAQ, /** * Help manual */ HELP, /** * Page with information about how to donate to the project */ DONATION, /** * Page with instructions on how to translate the project / submit translations. */ TRANSLATE, /** * Contact the developers */ CONTACT, /** * Browse the source code */ VCS_BROWSER, /** * Help developing */ CONTRIBUTE, } /** * The error type. */ class UtilsError extends GLib.Error { static $gtype: GObject.GType; // Static fields /** * Generic failure */ static FAILED: number; // Constructors constructor(options: { message: string; code: number }); _init(...args: any[]): void; // Static methods static quark(): GLib.Quark; } /** * The error type. */ class ValidatorError extends GLib.Error { static $gtype: GObject.GType; // Static fields /** * Generic failure */ static FAILED: number; /** * The issue override was not accepted. */ static INVALID_OVERRIDE: number; /** * The filename was invalid. */ static INVALID_FILENAME: number; // Constructors constructor(options: { message: string; code: number }); _init(...args: any[]): void; // Static methods static quark(): GLib.Quark; } /** * Supported video codecs. */ /** * Supported video codecs. */ export namespace VideoCodecKind { export const $gtype: GObject.GType; } enum VideoCodecKind { /** * Unknown video codec */ UNKNOWN, /** * The VP9 video codec */ VP9, /** * The AV1 video codec */ AV1, } /** * Supported video codecs. */ /** * Supported video codecs. */ export namespace VideoContainerKind { export const $gtype: GObject.GType; } enum VideoContainerKind { /** * Unknown video container */ UNKNOWN, /** * The Matroska video (MKV) container */ MKV, /** * The WebM video container */ WEBM, } const MAJOR_VERSION: number; const MICRO_VERSION: number; const MINOR_VERSION: number; /** * Converts the text representation to an enumerated value. * @param value the string. * @returns a #AsAgreementKind or %AS_AGREEMENT_KIND_UNKNOWN for unknown */ function agreement_kind_from_string(value: string): AgreementKind; /** * Converts the enumerated value to an text representation. * @param value the #AsAgreementKind. * @returns string version of @value */ function agreement_kind_to_string(value: AgreementKind | null): string; /** * Converts the text representation to an enumerated value. * @param kind the string. * @returns a #AsArtifactKind, or %AS_ARTIFACT_KIND_UNKNOWN for unknown. */ function artifact_kind_from_string(kind: string): ArtifactKind; /** * Converts the enumerated value to an text representation. * @param kind the #AsArtifactKind. * @returns string version of @kind */ function artifact_kind_to_string(kind: ArtifactKind | null): string; /** * Converts the text representation to an enumerated value. * @param bundle_str the string. * @returns a #AsBundleKind or %AS_BUNDLE_KIND_UNKNOWN for unknown */ function bundle_kind_from_string(bundle_str: string): BundleKind; /** * Converts the enumerated value to an text representation. * @param kind the %AsBundleKind. * @returns string version of @kind */ function bundle_kind_to_string(kind: BundleKind | null): string; /** * Converts the text representation to an enumerated value. * @param kind_str the string. * @returns a #AsChassisKind or %AS_CHASSIS_KIND_UNKNOWN for unknown */ function chassis_kind_from_string(kind_str: string): ChassisKind; /** * Converts the enumerated value to a text representation. * @param kind the #AsChassisKind. * @returns string version of @kind */ function chassis_kind_to_string(kind: ChassisKind | null): string; /** * Converts the text representation to an enumerated value. * @param kind_str the string. * @returns a #AsChecksumKind or %AS_CHECKSUM_KIND_NONE for unknown */ function checksum_kind_from_string(kind_str: string): ChecksumKind; /** * Converts the enumerated value to an text representation. * @param kind the %AsChecksumKind. * @returns string version of @kind */ function checksum_kind_to_string(kind: ChecksumKind | null): string; /** * Converts the text representation to an enumerated value. * @param str the string. * @returns a #AsColorKind or %AS_COLOR_KIND_UNKNOWN for unknown. */ function color_kind_from_string(str: string): ColorKind; /** * Converts the enumerated value to an text representation. * @param kind the %AsColorKind. * @returns string version of @kind */ function color_kind_to_string(kind: ColorKind | null): string; /** * Converts the text representation to an enumerated value. * @param str the string. * @returns a #AsColorKind or %AS_COLOR_SCHEME_KIND_UNKNOWN for unknown. */ function color_scheme_kind_from_string(str: string): ColorSchemeKind; /** * Converts the enumerated value to an text representation. * @param kind the %AsColorSchemeKind. * @returns string version of @kind */ function color_scheme_kind_to_string(kind: ColorSchemeKind | null): string; /** * Converts the text representation to an enumerated value. * @param kind_str the string. * @returns a #AsComponentKind or %AS_COMPONENT_KIND_UNKNOWN for unknown */ function component_kind_from_string(kind_str: string): ComponentKind; /** * Converts the enumerated value to an text representation. * @param kind the #AsComponentKind. * @returns string version of @kind */ function component_kind_to_string(kind: ComponentKind | null): string; /** * Converts the text representation to an enumerated value. * @param scope_str the string. * @returns a #AsComponentScope or %AS_COMPONENT_SCOPE_UNKNOWN for unknown */ function component_scope_from_string(scope_str: string): ComponentScope; /** * Converts the enumerated value to an text representation. * @param scope the #AsComponentScope. * @returns string version of @scope */ function component_scope_to_string(scope: ComponentScope | null): string; /** * Format `age` as a human-readable string in the given rating `system`. This is * the way to present system-specific strings in a UI. * @param system an #AsContentRatingSystem * @param age a CSM age to format * @returns a newly allocated formatted version of @age, or %NULL if the given @system has no representation for @age */ function content_rating_system_format_age(system: ContentRatingSystem | null, age: number): string | null; /** * Determine the most appropriate #AsContentRatingSystem for the given `locale`. * Content rating systems are selected by territory. If no content rating system * seems suitable, %AS_CONTENT_RATING_SYSTEM_IARC is returned. * @param locale a locale, in the format described in `man 3 setlocale` * @returns the most relevant #AsContentRatingSystem */ function content_rating_system_from_locale(locale: string): ContentRatingSystem; /** * Get the CSM ages corresponding to the entries returned by * as_content_rating_system_get_formatted_ages() for this `system`. * @param system an #AsContentRatingSystem * @returns an array of CSM ages */ function content_rating_system_get_csm_ages(system: ContentRatingSystem | null): number[]; /** * Get an array of all the possible return values of * as_content_rating_system_format_age() for the given `system`. The array is * sorted with youngest CSM age first. * @param system an #AsContentRatingSystem * @returns %NULL-terminated array of human-readable age strings */ function content_rating_system_get_formatted_ages(system: ContentRatingSystem | null): string[]; /** * Get a human-readable string to identify `system`. %NULL will be returned for * %AS_CONTENT_RATING_SYSTEM_UNKNOWN. * @param system an #AsContentRatingSystem * @returns a human-readable string for @system, or %NULL if unknown */ function content_rating_system_to_string(system: ContentRatingSystem | null): string | null; /** * Converts the text representation to an enumerated value. * @param value the string. * @returns a #AsContentRatingValue or %AS_CONTENT_RATING_VALUE_UNKNOWN for unknown */ function content_rating_value_from_string(value: string): ContentRatingValue; /** * Converts the enumerated value to an text representation. * @param value the #AsContentRatingValue. * @returns string version of @value */ function content_rating_value_to_string(value: ContentRatingValue | null): string; /** * Converts the text representation to an enumerated value. * @param kind_str the string. * @returns a #AsControlKind or %AS_CONTROL_KIND_UNKNOWN for unknown */ function control_kind_from_string(kind_str: string): ControlKind; /** * Converts the enumerated value to a text representation. * @param kind the #AsControlKind. * @returns string version of @kind */ function control_kind_to_string(kind: ControlKind | null): string; /** * Converts the text representation to an enumerated value. * @param kind_str the string. * @returns a #AsDisplaySideKind or %AS_DISPLAY_SIDE_KIND_UNKNOWN for unknown */ function display_side_kind_from_string(kind_str: string): DisplaySideKind; /** * Converts the enumerated value to a text representation. * @param kind the #AsDisplaySideKind. * @returns string version of @kind */ function display_side_kind_to_string(kind: DisplaySideKind | null): string; /** * Converts the text representation to an enumerated value. * @param kind_str the string. * @returns a #AsFormatKind or %AS_FORMAT_KIND_UNKNOWN for unknown */ function format_kind_from_string(kind_str: string): FormatKind; /** * Converts the enumerated value to an text representation. * @param kind the #AsFormatKind. * @returns string version of @kind */ function format_kind_to_string(kind: FormatKind | null): string; /** * Converts the text representation to an enumerated value. * @param version_str the string. * @returns a #AsFormatVersion. For unknown, the highest version number is assumed. */ function format_version_from_string(version_str: string): FormatVersion; /** * Converts the enumerated value to an text representation. * @param version the #AsFormatKind. * @returns string version of @version */ function format_version_to_string(version: FormatVersion | null): string; /** * Returns the component-ID of the current distribution based on contents * of the `/etc/os-release` file. * This function is a shorthand for %as_distro_details_get_cid */ function get_current_distro_component_id(): string; /** * Get a list of the default Freedesktop and AppStream categories * that software components (especially GUI applications) can be sorted * into in software centers. * * This function fully transfers ownership of the returned container, * to be used in GIR bindings. * @param with_special Include special categories (e.g. "addons", and "all"/"featured" in submenus) * @returns a list of #AsCategory */ function get_default_categories(with_special: boolean): Category[]; /** * Get a translated license name for the given SPDX ID. * @param license The SPDX license ID. * @returns The license name, or %NULL if none found. */ function get_license_name(license: string): string | null; /** * Get a web URL to the license text and more license information for an SPDX * license identifier. * @param license The SPDX license ID. * @returns The license URL, or %NULL if none available. */ function get_license_url(license: string): string | null; /** * Replaces the string `find` with the string `replace` in a #GString up to * `limit` times. If the number of instances of `find` in the #GString is * less than `limit,` all instances are replaced. If `limit` is `0`, * all instances of `find` are replaced. * @param string a #GString * @param find the string to find in @string * @param replace the string to insert in place of @find * @param limit the maximum instances of @find to replace with @replace, or `0` for no limit * @returns the number of find and replace operations performed. */ function gstring_replace(string: GLib.String, find: string, replace: string, limit: number): number; /** * Converts the text representation to an enumerated value. * @param kind_str the string. * @returns a #AsIconKind or %AS_ICON_KIND_UNKNOWN for unknown */ function icon_kind_from_string(kind_str: string): IconKind; /** * Converts the enumerated value to an text representation. * @param kind the %AsIconKind. * @returns string version of @kind */ function icon_kind_to_string(kind: IconKind | null): string; /** * Converts the text representation to an enumerated value. * @param kind the string. * @returns a #AsImageKind, or %AS_IMAGE_KIND_UNKNOWN for unknown. */ function image_kind_from_string(kind: string): ImageKind; /** * Converts the enumerated value to an text representation. * @param kind the #AsImageKind. * @returns string version of @kind */ function image_kind_to_string(kind: ImageKind | null): string; /** * Converts the text representation to an enumerated value. * @param kind_str the string. * @returns a #AsInternetKind or %AS_INTERNET_KIND_UNKNOWN for unknown */ function internet_kind_from_string(kind_str: string): InternetKind; /** * Converts the enumerated value to a text representation. * @param kind the #AsInternetKind. * @returns string version of @kind */ function internet_kind_to_string(kind: InternetKind | null): string; /** * Searches the known list of SPDX license exception IDs. * @param exception_id a single SPDX license exception ID, e.g. "GCC-exception-3.1" * @returns %TRUE if the string is a valid SPDX license exception ID */ function is_spdx_license_exception_id(exception_id: string): boolean; /** * Checks the licence string to check it being a valid licence. * NOTE: SPDX licenses can't typically contain brackets. * @param license a SPDX license string, e.g. "CC-BY-3.0 and GFDL-1.3" * @returns %TRUE if the icon is a valid "SPDX license" */ function is_spdx_license_expression(license: string): boolean; /** * Searches the known list of SPDX license IDs. * @param license_id a single SPDX license ID, e.g. "GPL-3.0" * @returns %TRUE if the string is a valid SPDX license ID */ function is_spdx_license_id(license_id: string): boolean; /** * Converts the text representation to an enumerated value. * @param kind_str the string. * @returns a #AsIssueKind or %AS_ISSUE_KIND_UNKNOWN for unknown */ function issue_kind_from_string(kind_str: string): IssueKind; /** * Converts the enumerated value to an text representation. * @param kind the %AsIssueKind. * @returns string version of @kind */ function issue_kind_to_string(kind: IssueKind | null): string; /** * Converts the text representation to an enumerated value. * @param str the string. * @returns a #AsIssueSeverity, or %AS_ISSUE_SEVERITY_UNKNOWN for unknown. */ function issue_severity_from_string(str: string): IssueSeverity; /** * Converts the enumerated value to an text representation. * @param severity the #AsIssueSeverity. * @returns string version of @severity */ function issue_severity_to_string(severity: IssueSeverity | null): string; /** * Converts the text representation to an enumerated value. * @param kind_str the string. * @returns a #AsLaunchableKind or %AS_LAUNCHABLE_KIND_UNKNOWN for unknown */ function launchable_kind_from_string(kind_str: string): LaunchableKind; /** * Converts the enumerated value to a text representation. * @param kind the #AsLaunchableKind. * @returns string version of @kind */ function launchable_kind_to_string(kind: LaunchableKind | null): string; /** * Check if the given license is for free-as-in-freedom software. * A free software license is either approved by the Free Software Foundation * or the Open Source Initiative. * * This function does *not* yet handle complex license expressions with AND and OR. * If the expression contains any of these, it will still simply check if all mentioned * licenses are Free licenses. * Currently, any license exception recognized by SPDX is assumed to not impact the free-ness * status of a software component. * * Please note that this function does not give any legal advice. Please read the license texts * to learn more about the individual licenses and their conditions. * @param license The SPDX license string to test. * @returns %TRUE if the license string contains only free-as-in-freedom licenses. */ function license_is_free_license(license: string): boolean; /** * Check if the metadata license is suitable for mixing with other * metadata and redistributing the bundled result (this means we * prefer permissive licenses here, to not require people shipping * catalog metadata to perform a full license review). * * This method checks against a hardcoded list of permissive licenses * commonly used to license metadata under. * @param license The SPDX license string to test. * @returns %TRUE if the license contains only permissive licenses suitable as metadata license. */ function license_is_metadata_license(license: string): boolean; /** * Tests license ID against the vetted list of licenses that * can be used for metainfo metadata. * This function will not work for license expressions, if you need * to test an SPDX license expression for compliance, please * use %as_license_is_metadata_license insread. * @param license_id a single SPDX license ID, e.g. "FSFAP" * @returns %TRUE if the string is a valid metadata license ID. */ function license_is_metadata_license_id(license_id: string): boolean; /** * Converts a non-SPDX license into an SPDX format string where possible. * @param license a not-quite SPDX license string, e.g. "GPLv3+" * @returns the best-effort SPDX license string */ function license_to_spdx_id(license: string): string; /** * Converts XML description markup into other forms of text. * @param markup the XML markup to transform. * @param to_kind The markup style to convert into. * @returns a newly allocated string, or %NULL on error. */ function markup_convert(markup: string, to_kind: MarkupKind | null): string; /** * Splits up a long line into an array of smaller strings, each being no longer * than `line_len`. Words are not split. * @param text the text to split. * @param line_len the maximum length of the output line * @returns lines, or %NULL in event of an error */ function markup_strsplit_words(text: string, line_len: number): string[]; /** * Converts the text representation to an enumerated value. * @param kind_str the string. * @returns a #AsMergeKind or %AS_MERGE_KIND_NONE for unknown */ function merge_kind_from_string(kind_str: string): MergeKind; /** * Converts the enumerated value to an text representation. * @param kind the #AsMergeKind. * @returns string version of @kind */ function merge_kind_to_string(kind: MergeKind | null): string; function metadata_error_quark(): GLib.Quark; function pool_error_quark(): GLib.Quark; /** * Converts the text representation to an enumerated value. * @param kind_str the string. * @returns a #AsProvidedKind or %AS_PROVIDED_KIND_UNKNOWN for unknown */ function provided_kind_from_string(kind_str: string): ProvidedKind; /** * Converts the enumerated value to a localized text representation, * using the plural forms (e.g. "Libraries" instead of "Library"). * * This can be useful when displaying provided items in GUI dialogs. * @param kind the #AsProvidedKind. * @returns Pluralized, l10n string version of @kind */ function provided_kind_to_l10n_string(kind: ProvidedKind | null): string; /** * Converts the enumerated value to a text representation. * @param kind the #AsProvidedKind. * @returns string version of @kind */ function provided_kind_to_string(kind: ProvidedKind | null): string; /** * Converts the text representation to an enumerated value. * @param str the string. * @returns a AsReferenceKind or %AS_REFERENCE_KIND_UNKNOWN for unknown */ function reference_kind_from_string(str: string): ReferenceKind; /** * Converts the enumerated value to an text representation. * @param kind the %AsReferenceKind. * @returns string version of @kind */ function reference_kind_to_string(kind: ReferenceKind | null): string; /** * Converts the text representation to an enumerated value. * @param compare_str the string. * @returns a #AsRelationCompare, or %AS_RELATION_COMPARE_UNKNOWN for unknown. */ function relation_compare_from_string(compare_str: string): RelationCompare; /** * Converts the enumerated value to an text representation. * The enum is converted into a two-letter identifier ("eq", "ge", etc.) * for use in the XML representation. * @param compare the #AsRelationCompare. * @returns string version of @compare */ function relation_compare_to_string(compare: RelationCompare | null): string; /** * Converts the enumerated value to an text representation. * The enum is converted into an identifier consisting of two * mathematical comparison operators ("==", ">=", etc.) * for use in the YAML representation and user interfaces. * @param compare the #AsRelationCompare. * @returns string version of @compare */ function relation_compare_to_symbols_string(compare: RelationCompare | null): string; function relation_error_quark(): GLib.Quark; /** * Converts the text representation to an enumerated value. * @param kind_str the string. * @returns a #AsRelationItemKind or %AS_RELATION_ITEM_KIND_UNKNOWN for unknown */ function relation_item_kind_from_string(kind_str: string): RelationItemKind; /** * Converts the enumerated value to a text representation. * @param kind the #AsRelationKind. * @returns string version of @kind */ function relation_item_kind_to_string(kind: RelationItemKind | null): string; /** * Converts the text representation to an enumerated value. * @param kind_str the string. * @returns a #AsRelationKind or %AS_RELATION_KIND_UNKNOWN for unknown */ function relation_kind_from_string(kind_str: string): RelationKind; /** * Converts the enumerated value to a text representation. * @param kind the #AsRelationKind. * @returns string version of @kind */ function relation_kind_to_string(kind: RelationKind | null): string; /** * Converts the text representation to an enumerated value. * @param kind_str the string. * @returns an #AsReleaseKind or %AS_RELEASE_KIND_UNKNOWN for unknown */ function release_kind_from_string(kind_str: string): ReleaseKind; /** * Converts the enumerated value to an text representation. * @param kind the #AsReleaseKind. * @returns string version of @kind */ function release_kind_to_string(kind: ReleaseKind | null): string; /** * Converts the text representation to an enumerated value. * @param kind_str the string. * @returns an #AsReleaseKind or %AS_RELEASE_KIND_UNKNOWN for unknown */ function release_list_kind_from_string(kind_str: string): ReleaseListKind; /** * Converts the enumerated value to an text representation. * @param kind the #AsReleaseKind. * @returns string version of @kind */ function release_list_kind_to_string(kind: ReleaseListKind | null): string; /** * Converts the text representation to an enumerated value. * @param kind_str the string. * @returns an #AsReleaseUrlKind or %AS_RELEASE_URL_KIND_UNKNOWN for unknown */ function release_url_kind_from_string(kind_str: string): ReleaseUrlKind; /** * Converts the enumerated value to an text representation. * @param kind the #AsReleaseUrlKind. * @returns string version of @kind */ function release_url_kind_to_string(kind: ReleaseUrlKind | null): string; /** * Converts the text representation to an enumerated value. * @param kind the string. * @returns a %AsScreenshotKind, or %AS_SCREENSHOT_KIND_UNKNOWN if not known. */ function screenshot_kind_from_string(kind: string): ScreenshotKind; /** * Converts the enumerated value to an text representation. * @param kind the #AsScreenshotKind. * @returns string version of @kind */ function screenshot_kind_to_string(kind: ScreenshotKind | null): string; /** * Converts the text representation to an enumerated value. * @param size_kind the string. * @returns an #AsSizeKind or %AS_SIZE_KIND_UNKNOWN for unknown */ function size_kind_from_string(size_kind: string): SizeKind; /** * Converts the enumerated value to an text representation. * @param size_kind the #AsSizeKind. * @returns string version of @size_kind */ function size_kind_to_string(size_kind: SizeKind | null): string; /** * De-tokenizes the SPDX licenses into a string. * @param license_tokens license tokens, typically from as_spdx_license_tokenize() * @returns string, or %NULL for invalid */ function spdx_license_detokenize(license_tokens: string): string | null; /** * Tokenizes the SPDX license string (or any simarly formatted string) * into parts. Any license parts of the string e.g. "LGPL-2.0+" are prefexed * with "`"`, the conjunctive replaced with "&", the disjunctive replaced * with "|" and the WITH operator for license exceptions replaced with "^". * Brackets are added as indervidual tokens and other strings are * appended into single tokens where possible. * @param license a license string, e.g. "LGPLv2+ and (QPL or GPLv2) and MIT" * @returns array of strings, or %NULL for invalid */ function spdx_license_tokenize(license: string): string[] | null; /** * Converts the text representation to an enumerated value. * @param kind_str the string. * @returns a #AsSuggestedKind or %AS_SUGGESTED_KIND_UNKNOWN for unknown */ function suggested_kind_from_string(kind_str: string): SuggestedKind; /** * Converts the enumerated value to an text representation. * @param kind the %AsSuggestedKind. * @returns string version of @kind */ function suggested_kind_to_string(kind: SuggestedKind | null): string; function system_info_error_quark(): GLib.Quark; /** * Converts the text representation to an enumerated value. * @param kind_str the string. * @returns a #AsTranslationKind or %AS_TRANSLATION_KIND_UNKNOWN for unknown */ function translation_kind_from_string(kind_str: string): TranslationKind; /** * Converts the enumerated value to a text representation. * @param kind the #AsTranslationKind. * @returns string version of @kind */ function translation_kind_to_string(kind: TranslationKind | null): string; /** * Converts the text representation to an enumerated value. * @param urgency_kind the string. * @returns a %AsUrgencyKind or %AS_URGENCY_KIND_UNKNOWN for unknown */ function urgency_kind_from_string(urgency_kind: string): UrgencyKind; /** * Converts the enumerated value to an text representation. * @param urgency_kind the %AsUrgencyKind. * @returns string version of @urgency_kind */ function urgency_kind_to_string(urgency_kind: UrgencyKind | null): string; /** * Converts the text representation to an enumerated value. * @param url_kind the string. * @returns a #AsUrlKind or %AS_URL_KIND_UNKNOWN for unknown */ function url_kind_from_string(url_kind: string): UrlKind; /** * Converts the enumerated value to an text representation. * @param url_kind the %AsUrlKind. * @returns string version of @url_kind */ function url_kind_to_string(url_kind: UrlKind | null): string; /** * Builds an identifier string unique to the individual dataset using the supplied information. * @param scope Scope of the metadata as #AsComponentScope e.g. %AS_COMPONENT_SCOPE_SYSTEM * @param bundle_kind Bundling system providing this data, e.g. 'package' or 'flatpak' * @param origin Origin string, e.g. 'os' or 'gnome-apps-nightly' * @param cid AppStream component ID, e.g. 'org.freedesktop.appstream.cli' * @param branch Branch, e.g. '3-20' or 'master' */ function utils_build_data_id( scope: ComponentScope | null, bundle_kind: BundleKind | null, origin: string, cid: string, branch: string, ): string; /** * Checks two component data IDs for equality allowing globs to match. * @param data_id1 a data ID * @param data_id2 another data ID * @returns %TRUE if the ID's should be considered equal. */ function utils_data_id_equal(data_id1: string, data_id2: string): boolean; /** * Get the component-id part of the data-id. * @param data_id The data-id. */ function utils_data_id_get_cid(data_id: string): string; /** * Converts a data-id to a hash value. * * This function implements the widely used DJB hash on the ID subset of the * data-id string. * * It can be passed to g_hash_table_new() as the hash_func parameter, * when using non-NULL strings or unique_ids as keys in a GHashTable. * @param data_id a data ID * @returns a hash value corresponding to the key */ function utils_data_id_hash(data_id: string): number; /** * Checks two data IDs for equality allowing globs to match, whilst also * allowing clients to whitelist sections that have to match. * @param data_id1 a data ID * @param data_id2 another data ID * @param match_flags a #AsDataIdMatchFlags bitfield, e.g. %AS_DATA_ID_MATCH_FLAG_ID * @returns %TRUE if the IDs should be considered equal. */ function utils_data_id_match(data_id1: string, data_id2: string, match_flags: DataIdMatchFlags | null): boolean; /** * Checks if a data ID is valid i.e. has the correct number of * sections. * @param data_id a component data ID * @returns %TRUE if the ID is valid */ function utils_data_id_valid(data_id: string): boolean; function utils_error_quark(): GLib.Quark; /** * Get a human-readable, translated name of the desktop environment * represented by the given ID. * @param de_id a desktop environment id. * @returns A localized name of the DE, or %NULL if none available. */ function utils_get_desktop_environment_name(de_id: string): string; /** * Get a human-readable, translated name of the combination * of GUI environment and style. E.g. "plasma:dark" becomes "Plasma (Dark)". * @param env_style a GUI environment style ID, e.g. "pantheon:dark" * @returns A localized name of the environment style, or %NULL if none available. */ function utils_get_gui_environment_style_name(env_style: string): string; /** * Retrieve the raw search token weight for the given tag name that AppStream uses * internally for searching. * This can be used to implement separate, but compatible search logic. * @param tag_name A tag name in a component element, e.g. "name" or "summary" or "keyword" * @returns The tag weight used in (fulltext) searches. 0 for lowest weight/unused. */ function utils_get_tag_search_weight(tag_name: string): number; /** * Guess the #AsComponentScope that applies to a given path. * @param path The filename to test. * @returns the #AsComponentScope */ function utils_guess_scope_from_path(path: string): ComponentScope; /** * Installs an AppStream MetaInfo, AppStream Metadata Catalog or AppStream Icon tarball file * to the right place on the filesystem. * Please note that this function does almost no validation and may guess missing values such * as icon sizes and origin names. * Ensure your metadata is good before installing it. * @param location the #AsMetadataLocation, e.g. %AS_METADATA_LOCATION_CACHE * @param filename the full path of the file to install * @param origin the origin to use for the installation, or %NULL * @param destdir the destdir to use, or %NULL * @returns %TRUE for success, %FALSE if error is set */ function utils_install_metadata_file( location: MetadataLocation | null, filename: string, origin: string, destdir: string, ): boolean; /** * Searches the known list of registered XDG category names. * See https://specifications.freedesktop.org/menu-spec/latest/category-registry.html * for a reference. * @param category_name a XDG category name, e.g. "ProjectManagement" * @returns %TRUE if the category name is valid */ function utils_is_category_name(category_name: string): boolean; /** * Checks if the submitted desktop environment ID is * known and valid. * @param de_id a desktop environment id. * @returns %TRUE if the desktop-id is valid */ function utils_is_desktop_environment(de_id: string): boolean; /** * Checks if the given identifier is a valid, known GUI environment style. * @param env_style a GUI environment style ID, e.g. "pantheon:dark" * @returns %TRUE if the environment-style ID is is valid */ function utils_is_gui_environment_style(env_style: string): boolean; /** * Test if the given string is a valid platform triplet recognized by * AppStream. * @param triplet a platform triplet. * @returns %TRUE if triplet is valid. */ function utils_is_platform_triplet(triplet: string): boolean; /** * Searches the known list of TLDs we allow for AppStream IDs. * This excludes internationalized names. * @param tld a top-level domain without dot, e.g. "de", "org", "name" * @returns %TRUE if the TLD is valid */ function utils_is_tld(tld: string): boolean; /** * Calculates if one locale is compatible with another. * When doing the calculation the locale and language code is taken into * account if possible. * @param locale1 a BCP47 or POSIX locale string, or %NULL * @param locale2 a BCP47 or POSIX locale string, or %NULL * @returns %TRUE if the locale is compatible. */ function utils_locale_is_compatible(locale1?: string | null, locale2?: string | null): boolean; /** * Converts a POSIX locale string to the corresponding IETF BCP47 format. * If the given locale is already in BCP47 format, no change will be done. * @param locale * @returns A locale string, free with g_free() */ function utils_posix_locale_to_bcp47(locale: string): string; /** * Sorts all components in `cpts` into the #AsCategory categories listed in `categories`. * @param cpts List of components. * @param categories List of categories to sort components into. * @param check_duplicates Whether to check for duplicates. */ function utils_sort_components_into_categories( cpts: Component[], categories: Category[], check_duplicates: boolean, ): void; function validator_error_quark(): GLib.Quark; /** * Compare alpha and numeric segments of two software versions, * considering `flags`. * @param a First version number * @param b Second version number * @param flags Flags, e.g. %AS_VERCMP_FLAG_NONE * @returns an integer > 0 if a is newer than b; 0 if a and b are the same version; < 0 if b is newer than a */ function vercmp(a: string, b: string, flags: VercmpFlags | null): number; /** * Compare alpha and numeric segments of two software versions. * @param a First version number * @param b Second version number * @returns an integer > 0 if a is newer than b; 0 if a and b are the same version; < 0 if b is newer than a */ function vercmp_simple(a: string, b: string): number; /** * Compare two version numbers and check if the given version comparator matches. * @param ver1 first version number * @param compare the comparison operator * @param ver2 second version number * @param flags the #AsVercmpFlags to use * @returns %TRUE if the version comparison matches, %FALSE otherwise. */ function vercmp_test_match( ver1: string, compare: RelationCompare | null, ver2: string, flags: VercmpFlags | null, ): boolean; /** * Get the version of the AppStream library that is currently used * at runtime as a string. * @returns a version number, e.g. "0.14.2" */ function version_string(): string; /** * Converts the text representation to an enumerated value. * @param str the string. * @returns a #AsVideoCodecKind, or %AS_VIDEO_CODEC_KIND_UNKNOWN for unknown. */ function video_codec_kind_from_string(str: string): VideoCodecKind; /** * Converts the enumerated value to an text representation. * @param kind the #AsVideoCodecKind. * @returns string version of @codec */ function video_codec_kind_to_string(kind: VideoCodecKind | null): string; /** * Converts the text representation to an enumerated value. * @param str the string. * @returns a #AsVideoContainerKind, or %AS_VIDEO_CONTAINER_KIND_UNKNOWN for unknown. */ function video_container_kind_from_string(str: string): VideoContainerKind; /** * Converts the enumerated value to an text representation. * @param kind the #AsVideoContainerKind. * @returns string version of @kind */ function video_container_kind_to_string(kind: VideoContainerKind | null): string; /** * Flags on how caching should be used. */ /** * Flags on how caching should be used. */ export namespace CacheFlags { export const $gtype: GObject.GType; } enum CacheFlags { /** * No flags. */ NONE, /** * Create an user-specific metadata cache. */ USE_USER, /** * Use and - if possible - update the system metadata cache. */ USE_SYSTEM, /** * Don't clear the cache when opening it. */ NO_CLEAR, /** * Refresh the system cache that is shared between applications. */ REFRESH_SYSTEM, } /** * Flags controlling the component box behavior. */ /** * Flags controlling the component box behavior. */ export namespace ComponentBoxFlags { export const $gtype: GObject.GType; } enum ComponentBoxFlags { /** * No flags. */ NONE, /** * Only perform the most basic verification. */ NO_CHECKS, } /** * The flags used when matching unique IDs. */ /** * The flags used when matching unique IDs. */ export namespace DataIdMatchFlags { export const $gtype: GObject.GType; } enum DataIdMatchFlags { /** * No flags set */ NONE, /** * Scope, e.g. a #AsComponentScope */ SCOPE, /** * Bundle kind, e.g. a #AsBundleKind */ BUNDLE_KIND, /** * Origin */ ORIGIN, /** * Component AppStream ID */ ID, /** * Branch */ BRANCH, } /** * Influence certain aspects of how AppStream metadata is parsed. */ /** * Influence certain aspects of how AppStream metadata is parsed. */ export namespace ParseFlags { export const $gtype: GObject.GType; } enum ParseFlags { /** * No flags. */ NONE, /** * Do not process the media_baseurl document property. */ IGNORE_MEDIABASEURL, } /** * Flags controlling the metadata pool behavior. */ /** * Flags controlling the metadata pool behavior. */ export namespace PoolFlags { export const $gtype: GObject.GType; } enum PoolFlags { /** * No flags. */ NONE, /** * Load AppStream catalog metadata from OS locations. */ LOAD_OS_CATALOG, /** * Load MetaInfo data from OS locations. */ LOAD_OS_METAINFO, /** * Load components from desktop-entry files in OS locations. */ LOAD_OS_DESKTOP_FILES, /** * Load AppStream catalog metadata from Flatpak. */ LOAD_FLATPAK, /** * Load fresh data even if an up-o-date cache is available. */ IGNORE_CACHE_AGE, /** * Always resolve addons for returned components. */ RESOLVE_ADDONS, /** * Prefer local metainfo data over the system-provided catalog data. Useful for previewing local data. */ PREFER_OS_METAINFO, /** * Monitor registered directories for changes, and auto-reload metadata if necessary. */ MONITOR, } /** * The flags for the review. */ /** * The flags for the review. */ export namespace ReviewFlags { export const $gtype: GObject.GType; } enum ReviewFlags { /** * No special flags set */ NONE, /** * The user wrote the review themselves */ SELF, /** * The user voted on the review */ VOTED, } /** * Set how values assigned to an #AsComponent should be treated when * they are set or retrieved. */ /** * Set how values assigned to an #AsComponent should be treated when * they are set or retrieved. */ export namespace ValueFlags { export const $gtype: GObject.GType; } enum ValueFlags { /** * No flags. */ NONE, /** * Check for duplicates when adding items to list values. */ DUPLICATE_CHECK, /** * Don't fall back to C when retrieving translated values. */ NO_TRANSLATION_FALLBACK, } /** * The flags used when matching unique IDs. */ /** * The flags used when matching unique IDs. */ export namespace VercmpFlags { export const $gtype: GObject.GType; } enum VercmpFlags { /** * No flags set */ NONE, /** * Ignore epoch part of a version string. */ IGNORE_EPOCH, } namespace Agreement { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class Agreement extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): Agreement; // Methods add_section(agreement_section: AgreementSection): void; /** * Gets the agreement kind. * @returns a string, e.g. %AS_AGREEMENT_KIND_EULA */ get_kind(): AgreementKind; /** * Gets the first section in the agreement. * @returns agreement section, or %NULL */ get_section_default(): AgreementSection | null; /** * Gets all the sections in the agreement. * @returns array */ get_sections(): AgreementSection[]; /** * Gets the agreement version_id. * @returns a string, e.g. "1.4a", or NULL */ get_version_id(): string; /** * Sets the agreement kind. * @param kind the agreement kind, e.g. %AS_AGREEMENT_KIND_EULA */ set_kind(kind: AgreementKind | null): void; /** * Sets the agreement version identifier. * @param version_id the agreement version ID, e.g. "1.4a" */ set_version_id(version_id: string): void; } namespace AgreementSection { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class AgreementSection extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): AgreementSection; // Methods /** * Returns the #AsContext associated with this section. * This function may return %NULL if no context is set. * @returns the #AsContext used by this agreement section. */ get_context(): Context | null; /** * Gets the agreement section desc. * @returns a string, e.g. "GDPR", or NULL */ get_description(): string; /** * Gets the agreement section kind. * @returns a string, e.g. "GDPR", or NULL */ get_kind(): string; /** * Gets the agreement section name. * @returns a string, e.g. "GDPR", or NULL */ get_name(): string; /** * Sets the document context this release is associated * with. * @param context the #AsContext. */ set_context(context: Context): void; /** * Sets the agreement section desc. * @param desc the agreement description, e.g. "GDPR" * @param locale the locale in BCP47 format. e.g. "en-GB" */ set_description(desc: string, locale?: string | null): void; /** * Sets the agreement section kind. * @param kind the agreement kind, e.g. "GDPR" */ set_kind(kind: string): void; /** * Sets the agreement section name. * @param name the agreement name, e.g. "GDPR" * @param locale the locale. e.g. "en_GB" */ set_name(name: string, locale?: string | null): void; } namespace Artifact { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class Artifact extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): Artifact; // Methods /** * Add a checksum for the file associated with this artifact. * @param cs The #AsChecksum. */ add_checksum(cs: Checksum): void; /** * Adds a artifact location. * @param location An URL of the download location */ add_location(location: string): void; /** * Gets the bundle kind of this artifact. * @returns the #AsBundleKind */ get_bundle_kind(): BundleKind; /** * Gets the artifact checksum * @param kind * @returns an #AsChecksum, or %NULL for not set or invalid */ get_checksum(kind: ChecksumKind | null): Checksum | null; /** * Get a list of all checksums we have for this artifact. * @returns an array of #AsChecksum objects. */ get_checksums(): Checksum[]; /** * Gets a suggested filename for the downloaded artifact, * or %NULL if none is suggested. * @returns The platform triplet or identifier string. */ get_filename(): string; /** * Gets the artifact kind. * @returns the #AsArtifactKind */ get_kind(): ArtifactKind; /** * Gets the artifact locations, typically URLs. * @returns list of locations */ get_locations(): string[]; /** * Gets the artifact platform string (e.g. a triplet like "x86_64-linux-gnu"). * @returns The platform triplet or identifier string. */ get_platform(): string; /** * Gets the artifact size. * @param kind a #AsSizeKind * @returns The size of the given kind of this artifact. */ get_size(kind: SizeKind | null): number; /** * Sets the bundle kind for this release artifact. * @param kind the #AsBundleKind, e.g. %AS_BUNDLE_KIND_TARBALL. */ set_bundle_kind(kind: BundleKind | null): void; /** * Sets a suggested filename for this artifact after it has been downloaded. * @param filename the file name suggestion. */ set_filename(filename: string): void; /** * Sets the artifact kind. * @param kind the #AsArtifactKind, e.g. %AS_ARTIFACT_KIND_SOURCE. */ set_kind(kind: ArtifactKind | null): void; /** * Sets the artifact platform triplet or identifier string. * @param platform the platform triplet. */ set_platform(platform: string): void; /** * Sets the artifact size for the given kind. * @param size a size in bytes, or 0 for unknown * @param kind a #AsSizeKind */ set_size(size: number, kind: SizeKind | null): void; } namespace Branding { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class Branding extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): Branding; // Methods /** * Retrieve a color of the given `kind` that matches `scheme_kind`. * If a color has no scheme preference defined, it will be returned for either scheme type, * unless a more suitable color was found. * @param kind the #AsColorKind, e.g. %AS_COLOR_KIND_PRIMARY. * @param scheme_kind Color scheme preference for the color, e.g. %AS_COLOR_SCHEME_KIND_LIGHT * @returns The HTML color code of the found color, or %NULL if no color was found. */ get_color(kind: ColorKind | null, scheme_kind: ColorSchemeKind | null): string | null; /** * Deletes a color that matches the given type and scheme preference. * @param kind the #AsColorKind, e.g. %AS_COLOR_KIND_PRIMARY. * @param scheme_preference Type of color scheme preferred for this color, e.g. %AS_COLOR_SCHEME_KIND_LIGHT */ remove_color(kind: ColorKind | null, scheme_preference: ColorSchemeKind | null): void; /** * Sets a new accent color. If a color of the given kind with the given scheme preference already exists, * it will be overriden with the new color code. * @param kind the #AsColorKind, e.g. %AS_COLOR_KIND_PRIMARY. * @param scheme_preference Type of color scheme preferred for this color, e.g. %AS_COLOR_SCHEME_KIND_LIGHT * @param colorcode a HTML color code. */ set_color(kind: ColorKind | null, scheme_preference: ColorSchemeKind | null, colorcode: string): void; } namespace Bundle { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class Bundle extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): Bundle; // Methods /** * Gets the ID for this bundle. * @returns ID, e.g. "foobar-1.0.2" */ get_id(): string; /** * Gets the bundle kind. * @returns the #AsBundleKind */ get_kind(): BundleKind; /** * Sets the ID for this bundle. * @param id the URL. */ set_id(id: string): void; /** * Sets the bundle kind. * @param kind the #AsBundleKind, e.g. %AS_BUNDLE_KIND_LIMBA. */ set_kind(kind: BundleKind | null): void; } namespace Category { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps { children: any; icon: string; id: string; name: string; summary: string; } } class Category extends GObject.Object { static $gtype: GObject.GType; // Properties get children(): any; get icon(): string; set icon(val: string); get id(): string; set id(val: string); get name(): string; set name(val: string); get summary(): string; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): Category; // Methods /** * Add a subcategory to this category. * @param subcat A subcategory to add. */ add_child(subcat: Category): void; /** * Add a component to this category. * @param cpt The #AsComponent to add. */ add_component(cpt: Component): void; /** * Add a desktop-file category to this #AsCategory. * @param group_name A subcategory to add. */ add_desktop_group(group_name: string): void; get_children(): Category[]; /** * Get list of components which have been sorted into this category. * @returns List of #AsCategory */ get_components(): Component[]; get_desktop_groups(): string[]; /** * Get the stock icon name for this category. */ get_icon(): string; /** * Get the ID of this category. */ get_id(): string; /** * Get the name of this category. */ get_name(): string; /** * Get the summary (short description) of this category. */ get_summary(): string; /** * Test for sub-categories. * @returns %TRUE if this category has any subcategory */ has_children(): boolean; /** * Check if the exact #AsComponent `cpt` is a member of this * category already. * @param cpt The #AsComponent to look for. * @returns %TRUE if the component is present. */ has_component(cpt: Component): boolean; /** * Drop a subcategory from this #AsCategory. * @param subcat A subcategory to remove. */ remove_child(subcat: Category): void; /** * Set the stock icon name for this category. * @param value */ set_icon(value: string): void; /** * Set the ID of this category. * @param id */ set_id(id: string): void; /** * Set the name of this category. * @param value */ set_name(value: string): void; /** * Get the summary (short description) of this category. * @param value A new short summary of this category. */ set_summary(value: string): void; } namespace Checksum { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class Checksum extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): Checksum; static new_with_value(kind: ChecksumKind, value: string): Checksum; // Methods /** * Gets the checksum type. * @returns the #AsChecksumKind */ get_kind(): ChecksumKind; /** * Gets the checksum, usually in its hexadecimal form. * @returns the checksum. */ get_value(): string; /** * Sets the checksum type. * @param kind the #AsChecksumKind, e.g. %AS_CHECKSUM_KIND_SHA256. */ set_kind(kind: ChecksumKind | null): void; /** * Sets the checksum value filename. * @param value the new value. */ set_value(value: string): void; } namespace Component { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps { categories: any[]; description: string; icons: Icon[]; id: string; keywords: string[]; kind: ComponentKind; name: string; pkgnames: string[]; project_group: string; projectGroup: string; project_license: string; projectLicense: string; screenshots: Screenshot[]; summary: string; urls: GLib.HashTable; } } class Component extends GObject.Object { static $gtype: GObject.GType; // Properties /** * string array of categories */ get categories(): any[]; /** * the description */ get description(): string; set description(val: string); /** * hash map of icon urls and sizes */ get icons(): Icon[]; /** * the unique identifier */ get id(): string; set id(val: string); /** * string array of keywords */ get keywords(): string[]; set keywords(val: string[]); /** * the #AsComponentKind of this component */ get kind(): ComponentKind; set kind(val: ComponentKind); /** * the name */ get name(): string; set name(val: string); /** * string array of packages name */ get pkgnames(): string[]; set pkgnames(val: string[]); /** * the project group */ get project_group(): string; set project_group(val: string); /** * the project group */ get projectGroup(): string; set projectGroup(val: string); /** * the project license */ get project_license(): string; set project_license(val: string); /** * the project license */ get projectLicense(): string; set projectLicense(val: string); /** * An array of #AsScreenshot instances */ get screenshots(): Screenshot[]; /** * the summary */ get summary(): string; set summary(val: string); /** * the urls associated with this component */ get urls(): GLib.HashTable; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): Component; // Methods /** * Add a reference to the addon that is enhancing this component. * @param addon The #AsComponent that extends @cpt */ add_addon(addon: Component): void; /** * Adds an agreement to the software component. * @param agreement an #AsAgreement instance. */ add_agreement(agreement: Agreement): void; /** * Adds a bundle to the component. * @param bundle The #AsBundle to add. */ add_bundle(bundle: Bundle): void; /** * Add a category. * @param category the categories name to add. */ add_category(category: string): void; /** * Adds a content rating to this component. * @param content_rating a #AsContentRating instance. */ add_content_rating(content_rating: ContentRating): void; /** * Add a reference to the extended component * @param cpt_id The id of a component which is extended by this component */ add_extends(cpt_id: string): void; /** * Add an icon to this component. * @param icon the valid #AsIcon instance to add. */ add_icon(icon: Icon): void; /** * Add a new keyword to the keywords list for the given locale. This function does not * check for duplicate keywords. * @param keyword The new keyword to add. * @param locale BCP47 locale of the values, or %NULL to use current locale. */ add_keyword(keyword: string, locale?: string | null): void; /** * Adds a language to the component. * @param locale the BCP47 locale, or %NULL. e.g. "en-GB" * @param percentage the percentage completion of the translation, 0 for locales with unknown amount of translation */ add_language(locale: string | null, percentage: number): void; /** * Adds a #AsLaunchable containing launchables entries for this component. * @param launchable a #AsLaunchable instance. */ add_launchable(launchable: Launchable): void; /** * Add a set of provided items to this component. * @param prov a #AsProvided instance. */ add_provided(prov: Provided): void; /** * Adds a provided item to the component with the given `kind,` creating a new * `AsProvided` for this kind internally if necessary. * @param kind the kind of the provided item (e.g. %AS_PROVIDED_KIND_MEDIATYPE) * @param item the item to add. */ add_provided_item(kind: ProvidedKind | null, item: string): void; /** * Adds an external reference to the software component. * @param reference an #AsReference instance. */ add_reference(reference: Reference): void; /** * Adds a #AsRelation to set a recommends or requires relation of * component `cpt` on the item mentioned in the #AsRelation. * @param relation a #AsRelation instance. */ add_relation(relation: Relation): void; /** * Add an #AsRelease to this component. * @param release The #AsRelease to add */ add_release(release: Release): void; /** * Add the component ID of a component that gets replaced by the current component. * @param cid an AppStream component ID */ add_replaces(cid: string): void; /** * Adds a user review to a software component. * @param review a #AsReview instance. */ add_review(review: Review): void; /** * Add an #AsScreenshot to this component. * @param sshot The #AsScreenshot to add */ add_screenshot(sshot: Screenshot): void; /** * Add an #AsSuggested to this component. * @param suggested The #AsSuggested */ add_suggested(suggested: Suggested): void; /** * Add a tag to this component. * @param ns The namespace the tag belongs to * @param tag The tag name * @returns %TRUE if the tag was added. */ add_tag(ns: string, tag: string): boolean; /** * Assign an #AsTranslation object describing the translation system used * by this component. * @param tr an #AsTranslation instance. */ add_translation(tr: Translation): void; /** * Adds some URL data to the component. * @param url_kind the URL kind, e.g. %AS_URL_KIND_HOMEPAGE * @param url the full URL. */ add_url(url_kind: UrlKind | null, url: string): void; /** * Verifies the respective relations and presents whether the system specified * in #AsSystemInfo `sysinfo` and data from `pool` supply the requested facilities. * @param sysinfo an #AsSystemInfo to use for system information. * @param pool an #AsPool to find component dependencies in. * @param rel_kind the kind of relations to check * @returns An array of #AsRelationCheckResult */ check_relations( sysinfo: SystemInfo | null, pool: Pool | null, rel_kind: RelationKind | null, ): RelationCheckResult[]; /** * Remove all keywords for the given locale. * @param locale BCP47 locale of the values, or %NULL to use current locale. */ clear_keywords(locale?: string | null): void; /** * Remove all registered language translation information. */ clear_languages(): void; /** * Remove all tags associated with this component. */ clear_tags(): void; /** * Returns a list of #AsComponent objects which * are addons extending this component in functionality. * * This is the reverse of %as_component_get_extends() * @returns An array of #AsComponent. */ get_addons(): Component[]; /** * Gets an agreement the component has specified for the particular kind. * @param kind an agreement kind, e.g. %AS_AGREEMENT_KIND_EULA * @returns a #AsAgreement or %NULL for not found */ get_agreement_by_kind(kind: AgreementKind | null): Agreement | null; /** * Get a list of all agreements registered with this software component. * @returns An array of #AsAgreement. */ get_agreements(): Agreement[]; /** * Gets the branch for the application. * @returns string, or %NULL if unset */ get_branch(): string; /** * Get the branding associated with this component, or %NULL * in case this component has no special branding. * @returns An #AsBranding. */ get_branding(): Branding | null; /** * Gets a bundle identifier string. * @param bundle_kind the bundle kind, e.g. %AS_BUNDLE_KIND_LIMBA. * @returns An #AsBundle, or %NULL if not set. */ get_bundle(bundle_kind: BundleKind | null): Bundle | null; /** * Get a list of all software bundles associated with this component. * @returns A list of #AsBundle. */ get_bundles(): Bundle[]; get_categories(): string[]; get_compulsory_for_desktops(): string[]; /** * Gets a content ratings of a specific type that are defined for this component. * @param kind a ratings kind, e.g. "oars-1.0" * @returns a #AsContentRating or %NULL if not found */ get_content_rating(kind: string): ContentRating | null; /** * Gets all content ratings defined for this software. * @returns an array */ get_content_ratings(): ContentRating[]; /** * Get the #AsContext associated with this component. * This function may return %NULL if no context is set * (which will be the case if the component was not loaded from * a file or cache but constructed in memory). * @returns the associated #AsContext or %NULL */ get_context(): Context | null; get_custom(): GLib.HashTable; /** * Retrieve value for a custom data entry with the given key. * @param key Field name. */ get_custom_value(key: string): string; /** * Get a unique identifier for this metadata set. * This unique ID is only valid for the current session, * as opposed to the AppStream ID which uniquely identifies * a software component. * * The format of the unique id usually is: * %{scope}/%{origin}/%{distribution_system}/%{appstream_id} * * For example: * system/os/package/org.example.FooBar * @returns the unique session-specific identifier. */ get_data_id(): string; /** * Gets the end-of-life date for the entire component. * @returns The EOL date as string in ISO8601 format. */ get_date_eol(): string; /** * Get the localized long description of this component. * @returns the description. */ get_description(): string; /** * Get information about the component's developer or development team. * The returned object may be empty if no developer information was * available. * @returns the developer as #AsDeveloper. */ get_developer(): Developer; /** * Returns a string list of IDs of components which * are extended by this addon. * * See %as_component_get_extends() for the reverse. * @returns A #GPtrArray or %NULL if not set. */ get_extends(): string[] | null; /** * Gets an icon matching the size constraints. * The icons are not filtered by type, and the first icon * which matches the size is returned. * If you want more control over which icons you use for displaying, * use the %as_component_get_icons() function to get a list of all icons. * * Note that this function is not HiDPI aware! It will never return an icon with * a scaling factor > 1. * @param width The icon width in pixels. * @param height the icon height in pixels. * @returns An icon matching the given width/height, or %NULL if not found. */ get_icon_by_size(width: number, height: number): Icon | null; /** * Gets a stock icon for this component if one is associated with it. * Will return %NULL otherwise. * @returns An stock icon, or %NULL if none found. */ get_icon_stock(): Icon | null; get_icons(): Icon[]; /** * Get the unique AppStream identifier for this component. * This ID is unique for the described component, but does * not uniquely identify the metadata set. * * For a unique ID for this metadata set in the current * session, use %as_component_get_data_id() * @returns the unique AppStream identifier. */ get_id(): string; get_keywords(): string[]; /** * Retrieve the internal hash table mapping languages to * keword arrays. * @returns Hash table locale->keyword arrays */ get_keywords_table(): GLib.HashTable; /** * Returns the #AsComponentKind of this component. * @returns the kind of #this. */ get_kind(): ComponentKind; /** * Gets the translation coverage in percent for a specific locale * @param locale the BCP47 locale, or %NULL. e.g. "en-GB" * @returns a percentage value, -1 if locale was not found */ get_language(locale?: string | null): number; /** * Get a list of all languages. * @returns list of locales */ get_languages(): string[]; /** * Gets a #AsLaunchable of a specific type that contains launchable entries for * this component. * @param kind a launch kind, e.g. %AS_LAUNCHABLE_KIND_DESKTOP_ID * @returns a #AsLaunchable or %NULL if not found */ get_launchable(kind: LaunchableKind | null): Launchable | null; get_launchables(): Launchable[]; /** * Get the merge method which should apply to duplicate components * with this ID. * @returns the #AsMergeKind of this component. */ get_merge_kind(): MergeKind; /** * The license the metadata iself is subjected to. * @returns the license. */ get_metadata_license(): string; /** * A human-readable name for this component. * @returns the name. */ get_name(): string; /** * Get the internal locale to component name * mapping table. * @returns locale->names map */ get_name_table(): GLib.HashTable; /** * Get variant suffix for the component name * (only to be displayed if two components have the same name). * @returns the variant suffix */ get_name_variant_suffix(): string; get_origin(): string; /** * Get the first package name of the list of packages that need to be installed * for this component to be present on the system. * Since most components consist of only one package, this is safe to use for * about 90% of all cases. * * However, to support a component fully, please use %as_component_get_pkgnames() for * getting all packages that need to be installed, and use this method only to * e.g. get the main package to perform a quick "is it installed?" check. * @returns String array of package names */ get_pkgname(): string; /** * Get a list of package names which this component consists of. * This usually is just one package name. * @returns String array of package names */ get_pkgnames(): string[]; /** * Returns the priority of this component. * This method is used internally. */ get_priority(): number; /** * Get the component's project group. * @returns the project group. */ get_project_group(): string; /** * Get the license of the project this component belongs to. * @returns the license. */ get_project_license(): string; /** * Get a list of #AsProvided objects associated with this component. * @returns A list of #AsProvided objects. */ get_provided(): Provided[]; /** * Get an #AsProvided object for the given interface type, * containing information about the public interfaces (mimetypes, firmware, DBus services, ...) * this component provides. * @param kind kind of the provided item, e.g. %AS_PROVIDED_KIND_MEDIATYPE * @returns #AsProvided containing the items this component provides, or %NULL. */ get_provided_for_kind(kind: ProvidedKind | null): Provided | null; /** * Get an array of items that are recommended by this component. * @returns an array */ get_recommends(): Relation[]; /** * Get a list of external references and citation information for this component. * @returns An array of #AsReference. */ get_references(): Reference[]; /** * Get release information for this component, * without downloading or loading any data from external sources. * @returns Release information as #AsReleaseList */ get_releases_plain(): ReleaseList; /** * Get a list of component IDs of components that this software replaces entirely. * @returns an array of component-IDs */ get_replaces(): string[]; /** * Get an array of items that are required by this component. * @returns an array */ get_requires(): Relation[]; /** * Gets any reviews associated with the component. * @returns an array */ get_reviews(): Review[]; get_scope(): ComponentScope; /** * Get a list of all associated screenshots, for all environments. * @returns an array of #AsScreenshot instances */ get_screenshots_all(): Screenshot[]; /** * Returns all search tokens for this component. * @returns The string search tokens */ get_search_tokens(): string[]; /** * Returns the sorting priority of this component. * * This will only return a valid value if this component * was the result of or involved in a search operation which * returned sorted results. * In most cases you will not need to access this value explicitly, * as all results of search operations in AppStream are already sorted * from best match to worst. * * The returned value is an arbitrary integer value, valid only for * the search terms involved in the search operation that yielded * this component as a result. */ get_sort_score(): number; get_source_pkgname(): string; /** * Get a list of associated suggestions. * @returns an array of #AsSuggested instances */ get_suggested(): Suggested[]; /** * Get a short description of this component. * @returns the summary. */ get_summary(): string; /** * Get the internal locale to component summary * mapping table. * @returns locale->summary map */ get_summary_table(): GLib.HashTable; /** * Get an array of items that are supported by this component, * e.g. to indicate support for a specific piece of hardware. * @returns an array */ get_supports(): Relation[]; /** * Return a score between 0 and 100 determining how compatible the component * is with the system configuration provided as parameter. * * 0 means the componsnt will not work at all, while 100 is best compatibility. * @param sysinfo an #AsSystemInfo to use for system information. * @param is_template if %TRUE, treat system info as neutral template, ignoring any peripheral devices or kernel relations. * @returns a compatibility score between 0 and 100 */ get_system_compatibility_score( sysinfo: SystemInfo, is_template: boolean, ): [number, RelationCheckResult[] | null]; /** * Gets the UNIX timestamp for the date when this component * is out of support (end-of-life) and will receive no more * updates, not even security fixes. * @returns UNIX timestamp, or 0 for unset or invalid. */ get_timestamp_eol(): number; /** * Get a #GPtrArray of #AsTranslation objects describing the * translation systems and translation-ids (e.g. Gettext domains) used * by this software component. * * Only set for metainfo files. * @returns An array of #AsTranslation objects. */ get_translations(): Translation[]; /** * Gets a URL. * @param url_kind the URL kind, e.g. %AS_URL_KIND_HOMEPAGE. * @returns string, or %NULL if unset */ get_url(url_kind: UrlKind | null): string | null; has_bundle(): boolean; /** * Check if component is in the specified category. * @param category the specified category to check * @returns %TRUE if the component is in the specified category. */ has_category(category: string): boolean; /** * Test if the component is tagged with the selected * tag. * @param ns The namespace the tag belongs to * @param tag The tag name * @returns %TRUE if tag exists. */ has_tag(ns: string, tag: string): boolean; /** * Add a key and value pair to the custom data table. * @param key Key name. * @param value A string value. * @returns %TRUE if the key did not exist yet. */ insert_custom_value(key: string, value: string): boolean; /** * Check if this component is compulsory for the given desktop. * @param desktop the desktop-id to test for * @returns %TRUE if compulsory, %FALSE otherwise. */ is_compulsory_for_desktop(desktop: string): boolean; /** * Returns %TRUE if this component is free and open source software. * To determine this status, this function will check if it comes * from a vetted free-software-only source or whether its licenses * are only free software licenses. * @returns %TRUE if this component is free software. */ is_floss(): boolean; is_ignored(): boolean; /** * Test if the component `cpt` is a member of category `category`. * @param category The category to test. */ is_member_of_category(category: Category): boolean; /** * Check if the essential properties of this Component are * populated with useful data. * @returns TRUE if the component data was validated successfully. */ is_valid(): boolean; /** * Load metadata for this component from an XML string. * You normally do not want to use this method directly and instead use the more * convenient API of #AsMetadata to create and update components. * * If this function returns %TRUE, a valid component is returned unless the selected * format was %AS_FORMAT_KIND_DESKTOP_ENTRY, in which case a component ID will have to * be set explicitly by the caller in order to make the component valid. * @param context an #AsContext instance. * @param format the format of the data to load, e.g. %AS_FORMAT_KIND_XML * @param bytes the data to load. * @returns %TRUE on success. */ load_from_bytes(context: Context, format: FormatKind | null, bytes: GLib.Bytes | Uint8Array): boolean; /** * Get release information for this component, download it * if necessary. * @param allow_net * @returns Release information as #AsReleaseList, or %NULL if loading failed. */ load_releases(allow_net: boolean): ReleaseList | null; /** * Remove a tag from this component * @param ns The namespace the tag belongs to * @param tag The tag name * @returns %TRUE if the tag was removed. */ remove_tag(ns: string, tag: string): boolean; /** * Searches component data for a specific keyword. * @param term the search term. * @returns a match scrore, where 0 is no match and 100 is the best match. */ search_matches(term: string): number; /** * Searches component data for all the specific keywords. * @param terms the search terms. * @returns a match score, where 0 is no match and larger numbers are better matches. */ search_matches_all(terms: string): number; /** * Set the branch that the component instance was sourced from. * @param branch the branch, e.g. "master" or "3-16". */ set_branch(branch: string): void; /** * Set branding for this component. * @param branding an #AsBranding instance. */ set_branding(branding: Branding): void; /** * Mark this component to be compulsory for the specified desktop environment. * @param desktop The name of the desktop. */ set_compulsory_for_desktop(desktop: string): void; /** * Sets the document context this component is associated * with. * @param context the #AsContext. */ set_context(context: Context): void; /** * Set the active locale on the context assoaiacted with this component, * creating a new context for the component if none exists yet. * * Please not that this will flip the locale of all other components and * entities that use the same context as well! * This function is just a convenience method, and does not replace * proper #AsContext management. * @param locale the new locale. */ set_context_locale(locale: string): void; /** * Set the session-specific unique metadata identifier for this * component. * If two components have a different data_id but the same ID, * they will be treated as independent sets of metadata describing * the same component type. * @param value the unique session-specific identifier. */ set_data_id(value: string): void; /** * Sets an end-of-life date for this component. * @param date the EOL date in ISO8601 format. */ set_date_eol(date: string): void; /** * Set long description for this component. * @param value The long description * @param locale The BCP47 locale for this value, or %NULL to use the current active one. */ set_description(value: string, locale?: string | null): void; /** * Set the the component's developer. * @param developer the new #AsDeveloper */ set_developer(developer: Developer): void; /** * Set the AppStream identifier for this component. * @param value the unique identifier. */ set_id(value: string): void; /** * Set keywords for this component, replacing all existing ones for the selected locale. * @param new_keywords Array of keywords * @param locale BCP47 locale of the values, or %NULL to use current locale. * @param deep_copy Set to %TRUE if the keywords array should be copied, %FALSE to set by reference. */ set_keywords(new_keywords: string[], locale: string | null, deep_copy: boolean): void; /** * Sets the #AsComponentKind of this component. * @param value the #AsComponentKind. */ set_kind(value: ComponentKind | null): void; /** * Sets the #AsMergeKind for this component. * @param kind the #AsMergeKind. */ set_merge_kind(kind: MergeKind | null): void; /** * Set the license this metadata is licensed under. * @param value the metadata license. */ set_metadata_license(value: string): void; /** * Set a human-readable name for this component. * @param value The name * @param locale The BCP47 locale for this value, or %NULL to use the current active one. */ set_name(value: string, locale?: string | null): void; /** * Set a variant suffix for the component name * (only to be displayed if components have the same name). * @param value the developer or developer team name * @param locale the BCP47 locale, or %NULL. e.g. "en-GB" */ set_name_variant_suffix(value: string, locale?: string | null): void; set_origin(origin: string): void; /** * Set the package name that provides this component. * @param pkgname the package name */ set_pkgname(pkgname: string): void; /** * Set a list of package names this component consists of. * (This should usually be just one package name) * @param packages */ set_pkgnames(packages: string[]): void; /** * Sets the priority of this component. * This method is used internally. * @param priority the given priority */ set_priority(priority: number): void; /** * Set the component's project group. * @param value the project group. */ set_project_group(value: string): void; /** * Set the project license. * @param value the project license. */ set_project_license(value: string): void; /** * Set a new set of releases for this component. * @param releases the #AsReleaseList to use. */ set_releases(releases: ReleaseList): void; /** * Sets the #AsComponentScope of this component. * @param scope the #AsComponentKind. */ set_scope(scope: ComponentScope | null): void; /** * Sets the sorting score of this component. * @param score the given sorting score */ set_sort_score(score: number): void; set_source_pkgname(spkgname: string): void; /** * Set a short description for this component. * @param value The summary * @param locale The BCP47 locale for this value, or %NULL to use the current active one. */ set_summary(value: string, locale?: string | null): void; /** * Reorder the screenshots to prioritize a certain environment or style, instead of using the default * screenshot order. * * If both "environment" and "style" are %NULL, the previous default order is restored. * @param environment a GUI environment string, e.g. "plasma" or "gnome" * @param style and environment style string, e.g. "light" or "dark" * @param prioritize_style if %TRUE, order screenshots of the given style earlier than ones of the given environment. */ sort_screenshots(environment: string | null, style: string | null, prioritize_style: boolean): void; /** * Returns a string identifying this component. * (useful for debugging) * @returns A descriptive string */ to_string(): string; /** * Serialize this component into an XML string. * You normally do not want to use this method directly and instead use the more * convenient API of #AsMetadata to serialize components. * @param context an #AsContext instance. * @returns %TRUE on success. */ to_xml_data(context: Context): string; } namespace ComponentBox { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps { flags: number; } } class ComponentBox extends GObject.Object { static $gtype: GObject.GType; // Properties get flags(): number; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](flags: ComponentBoxFlags): ComponentBox; static new_simple(): ComponentBox; // Methods /** * Add a component to the box. Returns an error if we could not add it * (most likely due to component box constraints). * @param cpt * @returns %TRUE on success. */ add(cpt: Component): boolean; /** * Get the contents of this component box as #GPtrArray. * @returns an array of #AsComponent instances. */ as_array(): Component[]; /** * Remove all contents of this component box. */ clear(): void; /** * Get the flags this component box was constructed with. * @returns The #AsComponentBoxFlags that are in effect. */ get_flags(): ComponentBoxFlags; /** * Get the amount of components in this box. * @returns Amount of components. */ get_size(): number; /** * Retrieve a component at the respective index from the internal * component array. * @param index The component index. * @returns An #AsComponent or %NULL */ index_safe(index: number): Component; /** * Check if there are any components present. * @returns %TRUE if this component box is empty. */ is_empty(): boolean; /** * Remove a component at the specified index. * Please ensure that the index is not larger than * %as_component_box_get_size() - 1 * @param index the index of the component to remove. */ remove_at(index: number): void; /** * Sort components to bring them into a deterministic order. */ sort(): void; /** * Sort components by their (search) match score. */ sort_by_score(): void; } namespace ContentRating { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class ContentRating extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): ContentRating; // Static methods /** * Gets the highest #AsContentRatingValue which is allowed to be seen by the * given Common Sense Media `age` for the given subsection `id`. * * For example, if the CSM age mappings for `violence-bloodshed` are: * * age ≥ 0 for %AS_CONTENT_RATING_VALUE_NONE * * age ≥ 9 for %AS_CONTENT_RATING_VALUE_MILD * * age ≥ 11 for %AS_CONTENT_RATING_VALUE_MODERATE * * age ≥ 18 for %AS_CONTENT_RATING_VALUE_INTENSE * then calling this function with `violence-bloodshed` and `age` set to 17 would * return %AS_CONTENT_RATING_VALUE_MODERATE. Calling it with age 18 would * return %AS_CONTENT_RATING_VALUE_INTENSE. * @param id the subsection ID e.g. `violence-cartoon` * @param age the CSM age */ static attribute_from_csm_age(id: string, age: number): ContentRatingValue; /** * Get a human-readable description of what content would be expected to * require the content rating attribute given by `id` and `value`. * @param id the subsection ID e.g. `violence-cartoon` * @param value the #AsContentRatingValue, e.g. %AS_CONTENT_RATING_VALUE_INTENSE */ static attribute_get_description(id: string, value: ContentRatingValue): string; /** * Gets the Common Sense Media approved age for a specific rating level. * @param id the subsection ID e.g. `violence-cartoon` * @param value the #AsContentRatingValue, e.g. %AS_CONTENT_RATING_VALUE_INTENSE */ static attribute_to_csm_age(id: string, value: ContentRatingValue): number; /** * Returns a list of all the valid OARS content rating attribute IDs as could * be passed to as_content_rating_add_attribute() or * as_content_rating_attribute_to_csm_age(). */ static get_all_rating_ids(): string[]; // Methods /** * Adds an attribute value to the content rating. * @param id a content rating ID, e.g. `money-gambling`. * @param value a #AsContentRatingValue, e.g. %AS_CONTENT_RATING_VALUE_MODERATE. */ add_attribute(id: string, value: ContentRatingValue | null): void; /** * Gets the content_rating kind. * @returns a string, e.g. "oars-1.0", or NULL */ get_kind(): string; /** * Gets the lowest Common Sense Media approved age for the content_rating block. * NOTE: these numbers are based on the data and descriptions available from * https://www.commonsensemedia.org/about-us/our-mission/about-our-ratings and * you may disagree with them. * * You're free to disagree with these, and of course you should use your own * brain to work our if your child is able to cope with the concepts enumerated * here. Some 13 year olds may be fine with the concept of mutilation of body * parts; others may get nightmares. * @returns The age in years, 0 for no rating, or G_MAXUINT for no details. */ get_minimum_age(): number; /** * Gets the set of ratings IDs which are present in this `content_rating`. An * example of a ratings ID is `violence-bloodshed`. * * The IDs are returned in lexicographical order. * @returns %NULL-terminated array of ratings IDs; each ratings ID is owned by the #AsContentRating and must not be freed, but the container must be freed with g_free() */ get_rating_ids(): string[]; /** * Gets the value of a content rating key. * @param id A ratings ID, e.g. `violence-bloodshed`. * @returns the #AsContentRatingValue, or %AS_CONTENT_RATING_VALUE_UNKNOWN */ get_value(id: string): ContentRatingValue; /** * Sets the content rating kind. * @param kind the rating kind, e.g. "oars-1.0" */ set_kind(kind: string): void; /** * Sets the value of a content rating key. * @param id A ratings ID, e.g. `violence-bloodshed`. * @param value A #AsContentRatingValue, e.g. %AS_CONTENT_RATING_VALUE_INTENSE */ set_value(id: string, value: ContentRatingValue | null): void; } namespace Context { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class Context extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): Context; // Methods get_filename(): string; get_format_version(): FormatVersion; get_locale(): string; get_locale_use_all(): boolean; get_media_baseurl(): string; get_origin(): string; get_priority(): number; get_style(): FormatStyle; get_value_flags(): ValueFlags; has_media_baseurl(): boolean; /** * Sets the file name we are loading data from. * @param fname the new file name. */ set_filename(fname: string): void; /** * Sets the AppStream format version. * @param ver the new format version. */ set_format_version(ver: FormatVersion | null): void; /** * Sets the active locale. * If the magic value "ALL" is used, the current system locale will be used * for data reading, but when writing data all locale will be written. * @param locale a POSIX or BCP47 locale, or %NULL. e.g. "en_GB" */ set_locale(locale?: string | null): void; /** * Sets the media base URL. * @param value the new value. */ set_media_baseurl(value: string): void; /** * Sets the data origin. * @param value the new value. */ set_origin(value: string): void; /** * Sets the data priority. * @param priority the new priority. */ set_priority(priority: number): void; /** * Sets the AppStream document style. * @param style the new document style. */ set_style(style: FormatStyle | null): void; set_value_flags(flags: ValueFlags | null): void; } namespace Developer { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class Developer extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): Developer; // Methods /** * Gets a unique ID for this particular developer, e.g. "gnome" or "mozilla.org" * @returns the unique developer ID, or %NULL if none was set. */ get_id(): string; /** * Get a localized developer, or development team name. * @returns the developer name. */ get_name(): string; /** * Sets the unique ID of this developer. * @param id a developer ID, e.g. "mozilla.org" */ set_id(id: string): void; /** * Set the the developer or development team name. * @param value the developer or developer team name * @param locale the BCP47 locale, or %NULL. e.g. "en-GB" */ set_name(value: string, locale?: string | null): void; } namespace Icon { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class Icon extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): Icon; // Methods get_filename(): string; get_height(): number; /** * Gets the icon kind. * @returns the #AsIconKind */ get_kind(): IconKind; get_name(): string; get_scale(): number; /** * Gets the icon URL, pointing at a remote location. HTTPS and FTP urls are allowed. * This property is only set for icons of type %AS_ICON_KIND_REMOTE * @returns the URL */ get_url(): string; get_width(): number; /** * Sets the icon absolute filename. * @param filename the new icon URL. */ set_filename(filename: string): void; /** * Sets the icon height. * @param height the height in pixels. */ set_height(height: number): void; /** * Sets the icon kind. * @param kind the #AsIconKind, e.g. %AS_ICON_KIND_CACHED. */ set_kind(kind: IconKind | null): void; /** * Sets the stock name or basename to use for the icon. * @param name the icon stock name, e.g. "gwenview" */ set_name(name: string): void; /** * Sets the icon scaling factor used for HiDPI displays. * @param scale the icon scaling factor. */ set_scale(scale: number): void; /** * Sets the icon URL. * @param url the new icon URL. */ set_url(url: string): void; /** * Sets the icon width. * @param width the width in pixels. */ set_width(width: number): void; } namespace Image { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class Image extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): Image; // Methods /** * Gets the image height. * @returns height in pixels */ get_height(): number; /** * Gets the image kind. * @returns the #AsImageKind */ get_kind(): ImageKind; /** * Get locale for this image. * @returns Locale string */ get_locale(): string; /** * Gets the image integer scale factor. * @returns the scale factor. */ get_scale(): number; /** * Gets the full qualified URL for the image, usually pointing at some mirror. * @returns URL */ get_url(): string; /** * Gets the image width. * @returns width in pixels */ get_width(): number; /** * Sets the image height. * @param height the height in pixels. */ set_height(height: number): void; /** * Sets the image kind. * @param kind the #AsImageKind, e.g. %AS_IMAGE_KIND_THUMBNAIL. */ set_kind(kind: ImageKind | null): void; /** * Sets the locale for this image. * @param locale the BCP47 locale string. */ set_locale(locale: string): void; /** * Sets the image scale factor. * @param scale the integer scale factor, e.g. 2 */ set_scale(scale: number): void; /** * Sets the fully-qualified mirror URL to use for the image. * @param url the URL. */ set_url(url: string): void; /** * Sets the image width. * @param width the width in pixels. */ set_width(width: number): void; } namespace Issue { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class Issue extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): Issue; // Methods /** * Gets the issue ID (usually a bug number or CVE ID) * @returns the ID. */ get_id(): string; /** * Gets the issue type. * @returns the #AsIssueKind */ get_kind(): IssueKind; /** * Gets the URL associacted with this issue, usually * referencing a bug report or issue description. * @returns the URL. */ get_url(): string; /** * Sets the issue ID. * @param id the new ID. */ set_id(id: string): void; /** * Sets the issue type. * @param kind the #AsIssueKind, e.g. %AS_ISSUE_KIND_SHA256. */ set_kind(kind: IssueKind | null): void; /** * Sets an URL describing this issue. * @param url the new URL. */ set_url(url: string): void; } namespace Launchable { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class Launchable extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): Launchable; // Methods /** * Add a new launchable entry. * @param entry */ add_entry(entry: string): void; /** * Get an array of launchable entries. * @returns An string list of launch entries. */ get_entries(): string[]; /** * The launch system for the entries this #AsLaunchable * object stores. * @returns an enum of type #AsLaunchableKind */ get_kind(): LaunchableKind; /** * Set the launch system for the entries this #AsLaunchable * object stores. * @param kind the new #AsLaunchableKind */ set_kind(kind: LaunchableKind | null): void; } namespace Metadata { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class Metadata extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): Metadata; // Static methods /** * Guesses the AppStream metadata style (metainfo or catalog) based on * the filename. * @param filename a file name */ static file_guess_style(filename: string): FormatStyle; // Methods /** * Add an #AsComponent to the list of components. * This can be used to add multiple components in order to * produce a distro-XML AppStream metadata file. * @param cpt */ add_component(cpt: Component): void; /** * Remove all previously parsed or manually added components. */ clear_components(): void; /** * Remove all previously parsed releases entries. */ clear_releases(): void; /** * Convert an #AsComponent to metainfo data. * This will always be XML, YAML is no valid format for metainfo files. * * The amount of localization included in the metadata depends on how the #AsComponent * was initially loaded and whether it contains data for all locale. * * The first #AsComponent added to the internal list will be transformed. * In case no component is present, %NULL is returned. * @param format The format to use (XML or YAML) * @returns A string containing the XML metadata. Free with g_free() */ component_to_metainfo(format: FormatKind | null): string; /** * Serialize all #AsComponent instances into AppStream * catalog metadata. * %NULL is returned if there is nothing to serialize. * @param format The format to serialize the data to (XML or YAML). * @returns A string containing the YAML or XML data. Free with g_free() */ components_to_catalog(format: FormatKind | null): string; get_architecture(): string; /** * Gets the #AsComponent which has been parsed from the XML. * If the AppStream XML contained multiple components, return the last * component that has been parsed. * @returns An #AsComponent or %NULL */ get_component(): Component | null; get_components(): ComponentBox; /** * Get the metadata parsing mode. */ get_format_style(): FormatStyle; get_format_version(): FormatVersion; /** * Gets the current active locale for parsing metadata, * or "ALL" if all locales are read. * @returns Locale used for metadata parsing. */ get_locale(): string; get_media_baseurl(): string; get_origin(): string; /** * Get the metadata parse flags. */ get_parse_flags(): ParseFlags; /** * Gets the recently parsed #AsReleaseList entry. * @returns An #AsReleaseList or %NULL */ get_release_list(): ReleaseList | null; get_release_lists(): ReleaseList[]; get_update_existing(): boolean; get_write_header(): boolean; /** * Parses any AppStream metadata into one or more #AsComponent instances. * @param bytes Metadata describing one or more software components. * @param format The format of the data (XML or YAML). * @returns %TRUE on success. */ parse_bytes(bytes: GLib.Bytes | Uint8Array, format: FormatKind | null): boolean; /** * Parses any AppStream metadata into one or more #AsComponent instances. * @param data Metadata describing one or more software components as string. * @param data_len Length of @data, or -1 if length is unknown and @data is NULL-terminated. * @param format The format of the data (XML or YAML). * @returns %TRUE on success. */ parse_data(data: string, data_len: number, format: FormatKind | null): boolean; /** * Parses XDG Desktop Entry metadata and adds it to the list of parsed entities. * * Please note that not every desktop-entry file will result in a valid component * being generated, even if parsing succeeds without error (The desktiop-entry file * may be valid but not generate a component on purpose). * @param cid The component-id the new #AsComponent should have. * @param data Metadata describing one or more software components. * @param data_len The data length, or -1 if unknown and null-terminated. * @returns %TRUE if the file was parsed without error. */ parse_desktop_data(cid: string, data: string, data_len: number): boolean; /** * Parses an AppStream upstream metadata file. * * If `file` does not exist, %G_IO_ERROR_NOT_FOUND will be returned. Other * #GIOErrors and #AsMetadataErrors may be returned as appropriate. * @param file #GFile for the upstream metadata * @param format The format the data is in, or %AS_FORMAT_KIND_UNKNOWN if not known. * @returns %TRUE if the file was parsed without error. */ parse_file(file: Gio.File, format: FormatKind | null): boolean; /** * Parses any AppStream release metadata into #AsRelease objects. * You can retrieve the last parsed #AsReleaseList using %as_metadata_get_release_list. * @param bytes Metadata describing release notes. * @returns %TRUE on success. */ parse_releases_bytes(bytes: GLib.Bytes | Uint8Array): boolean; /** * Parses any AppStream release metadata into #AsRelease objects * using the provided file. * You can retrieve the last parsed #AsReleaseList using %as_metadata_get_release_list. * @param file #GFile for the release metadata * @returns %TRUE on success. */ parse_releases_file(file: Gio.File): boolean; /** * Convert a releases of an #AsReleaseList entity into a release metadata XML representation. * @param releases the #AsReleaseList to convert. * @returns The XML representation or %NULL on error. */ releases_to_data(releases: ReleaseList): string; /** * Serialize all #AsComponent instances to XML or YAML metadata and save * the data to a file. * An existing file at the same location will be overridden. * @param fname The filename for the new metadata file. * @param format * @returns %TRUE if the file was written without error. */ save_catalog(fname: string, format: FormatKind | null): boolean; /** * Serialize #AsComponent instance to XML and save it to file. * An existing file at the same location will be overridden. * @param fname The filename for the new metadata file. * @param format The format to save this file in. Only XML is supported at time. * @returns %TRUE if the file was written without error. */ save_metainfo(fname: string, format: FormatKind | null): boolean; /** * Set the architecture the components in this metadata belong to. * @param arch an architecture string. */ set_architecture(arch: string): void; /** * Sets the current metadata parsing mode. * @param mode the #AsFormatStyle. */ set_format_style(mode: FormatStyle | null): void; /** * Set the current AppStream format version that we should generate data for * or be able to read. * @param version the AppStream metadata format version as #AsFormatVersion. */ set_format_version(version: FormatVersion | null): void; /** * Sets the locale which should be read when processing metadata. * All other locales are ignored, which increases parsing speed and * reduces memory usage. * If you set the locale to "ALL", all locales will be read. * @param locale the BCP47 locale. */ set_locale(locale: string): void; /** * Set the base URL for all media links referenced in the metadata, * or %NULL if every component has absolute URLs. * @param url the base URL. */ set_media_baseurl(url: string): void; /** * Set the origin of AppStream distro metadata * @param origin the origin of AppStream distro metadata. */ set_origin(origin: string): void; /** * Sets the current metadata parse flags. * @param flags the #AsParseFlags. */ set_parse_flags(flags: ParseFlags | null): void; /** * If set to %TRUE, the parser will not create new components but * instead update existing components in the pool with new metadata. * * NOTE: Right now, this feature is only implemented for metainfo XML parsing! * @param update A boolean value. */ set_update_existing(update: boolean): void; /** * If set to %TRUE, tehe metadata writer will omit writing a DEP-11 * header document when in YAML mode, and will not write a root components node * when writing XML data. * Please keep in mind that this will create an invalid DEP-11 YAML AppStream * catalog metadata file, and an invalid XML file. * This parameter should only be changed e.g. by the appstream-generator tool. * * NOTE: Right now, this feature is only implemented for YAML! * @param wheader A boolean value. */ set_write_header(wheader: boolean): void; } namespace Pool { // Signal callback interfaces interface Changed { (): void; } // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class Pool extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): Pool; // Signals connect(id: string, callback: (...args: any[]) => any): number; connect_after(id: string, callback: (...args: any[]) => any): number; emit(id: string, ...args: any[]): void; connect(signal: 'changed', callback: (_source: this) => void): number; connect_after(signal: 'changed', callback: (_source: this) => void): number; emit(signal: 'changed'): void; // Virtual methods vfunc_changed(): void; // Methods /** * Register a set of components with the pool temporarily. * Data from components added like this will not be cached. * @param cbox Components to add to the pool. * @returns %TRUE if the new components were successfully added to the pool. */ add_components(cbox: ComponentBox): boolean; /** * Add an additional non-standard location to the metadata pool where metadata will be read from. * If `directory` contains a "xml", "xmls", "yaml" or "icons" subdirectory (or all of them), * those paths will be added to the search paths instead. * @param directory An existing filesystem location. * @param format_style The expected format style of the metadata, e.g. %AS_FORMAT_STYLE_CATALOG */ add_extra_data_location(directory: string, format_style: FormatStyle | null): void; /** * Convenience function to add one or multiple #AsPoolFlags to * the flag set of this data pool. * @param flags The #AsPoolFlags to add. */ add_flags(flags: PoolFlags | null): void; /** * Splits up a string into an array of tokens that are suitable for searching. * This includes stripping whitespaces, casefolding the terms and removing greylist words. * * This function is usually called automatically when needed, you will only need to * run it explicitly when you need to check which search tokens the pool will actually * use internally for a given phrase. * @param search the (user-provided) search phrase. * @returns (array zero-terminated=1): Valid tokens to search for, or %NULL for error */ build_search_tokens(search: string): string[]; /** * Remove all metadata from the pool, data will be reloaded * once %as_pool_load is called again. */ clear(): void; /** * Get a list of found components. * @returns an #AsComponentBox. */ get_components(): ComponentBox; /** * Find components that are provided by a bundle with a specific ID by its prefix. * For example, given a AS_BUNDLE_KIND_FLATPAK and a bundle_id "org.kde.dolphin/", * it will list all the components that bundle dolphin. If the bundle_id is * "org.kde.dolphin/x86_64" it will give those with also the architecture. * @param kind The kind of the bundle we are looking for * @param bundle_id The bundle ID to match, as specified in #AsBundle * @param match_prefix %TRUE to match the ID by prefix, %FALSE to perform an absolute match. * @returns an #AsComponentBox. */ get_components_by_bundle_id( kind: BundleKind | null, bundle_id: string, match_prefix: boolean, ): ComponentBox; /** * Return a list of components which are in all of the categories. * @param categories An array of XDG categories to include. * @returns an #AsComponentBox of found components. */ get_components_by_categories(categories: string[]): ComponentBox; /** * Find components extending the component with the given ID. They can then be registered to the * #AsComponent they extend via %as_component_add_addon. * If the %AS_POOL_FLAG_RESOLVE_ADDONS pool flag is set, addons are automatically resolved and * this explicit function is not needed, but overall query time will be increased (so only use * this flag if you will be resolving addon information later anyway). * @param extended_id The ID of the component to search extensions for. * @returns an #AsComponentBox. */ get_components_by_extends(extended_id: string): ComponentBox; /** * Get a specific component by its ID. * This function may contain multiple results if we have * data describing this component from multiple scopes/origin types. * @param cid The AppStream-ID to look for. * @returns an #AsComponentBox. */ get_components_by_id(cid: string): ComponentBox; /** * Return a list of all components in the pool which are of a certain kind. * @param kind An #AsComponentKind. * @returns an #AsComponentBox of found components. */ get_components_by_kind(kind: ComponentKind | null): ComponentBox; /** * Find components in the AppStream data pool which provide a specific launchable. * See #AsLaunchable for details on launchables, or refer to the AppStream specification. * @param kind An #AsLaunchableKind * @param id The ID of the launchable. * @returns an #AsComponentBox of found components. */ get_components_by_launchable(kind: LaunchableKind | null, id: string): ComponentBox; /** * Find components in the AppStream data pool which provide a certain item. * @param kind An #AsProvidesKind * @param item The value of the provided item. * @returns an #AsComponentBox of found components. */ get_components_by_provided_item(kind: ProvidedKind | null, item: string): ComponentBox; /** * Get the #AsPoolFlags for this data pool. */ get_flags(): PoolFlags; /** * Gets the currently used locale. * @returns Locale used for metadata parsing. */ get_locale(): string; /** * Check if this pool contains any data. * @returns %TRUE if the pool is empty. */ is_empty(): boolean; /** * Builds an index of all found components in the watched locations. * The function will try to get as much data into the pool as possible, so even if * the update completes with %FALSE, it might still have added components to the pool. * * The function will load from all possible data sources, preferring caches if they * are up to date. * @param cancellable a #GCancellable. * @returns %TRUE if update completed without error. */ load(cancellable?: Gio.Cancellable | null): boolean; /** * Asynchronously loads data from all registered locations. * Equivalent to as_pool_load() (but asynchronous) * @param cancellable a #GCancellable. */ load_async(cancellable?: Gio.Cancellable | null): Promise; /** * Asynchronously loads data from all registered locations. * Equivalent to as_pool_load() (but asynchronous) * @param cancellable a #GCancellable. * @param callback A #GAsyncReadyCallback */ load_async(cancellable: Gio.Cancellable | null, callback: Gio.AsyncReadyCallback | null): void; /** * Asynchronously loads data from all registered locations. * Equivalent to as_pool_load() (but asynchronous) * @param cancellable a #GCancellable. * @param callback A #GAsyncReadyCallback */ load_async( cancellable?: Gio.Cancellable | null, callback?: Gio.AsyncReadyCallback | null, ): Promise | void; /** * Retrieve the result of as_pool_load_async(). * @param result A #GAsyncResult * @returns %TRUE for success */ load_finish(result: Gio.AsyncResult): boolean; /** * Convenience function to remove one or multiple #AsPoolFlags from * the flag set of this data pool. * @param flags The #AsPoolFlags to remove. */ remove_flags(flags: PoolFlags | null): void; /** * Remove all explicitly added metadata locations. */ reset_extra_data_locations(): void; /** * Search for a list of components matching the search term. * The list will be ordered by match score. * @param search A search string * @returns an #AsComponentBox of the found components. */ search(search: string): ComponentBox; /** * Set the #AsPoolFlags for this data pool. * @param flags The new #AsPoolFlags. */ set_flags(flags: PoolFlags | null): void; /** * This is a convenience function that enables or disables loading of metadata * from well-known standard locations by configuring the #AsPoolFlags of this * #AsPool accordingly. * Data affected by this includes the OS data catalog, metainfo, desktop-entry * files and Flatpak data. * If you need more fine-grained control, set the #AsPoolFlags explicitly. * @param enabled Whether loading of data from standard locations should be enabled. */ set_load_std_data_locations(enabled: boolean): void; /** * Sets the current locale which should be used when parsing metadata. * @param locale the BCP47 or POSIX locale to use for this pool. */ set_locale(locale: string): void; } namespace Provided { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class Provided extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): Provided; // Methods /** * Add a new provided item. * @param item */ add_item(item: string): void; /** * Get an array of provided data. * @returns An string list of provided items. */ get_items(): string[]; /** * The kind of items this #AsProvided object stores. * @returns an enum of type #AsProvidedKind */ get_kind(): ProvidedKind; /** * Check if the current #AsProvided contains an item * of the given name. * @param item the name of a provided item, e.g. "audio/x-vorbis" (in case the provided kind is a mimetype) * @returns %TRUE if found. */ has_item(item: string): boolean; /** * Set the kind of items this #AsProvided object stores. * @param kind the new #AsProvidedKind */ set_kind(kind: ProvidedKind | null): void; } namespace Reference { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class Reference extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): Reference; // Methods /** * Gets the reference kind. * @returns the #AsReferenceKind */ get_kind(): ReferenceKind; /** * Gets the name of the registry this reference is for, * if the reference is of type %AS_REFERENCE_KIND_REGISTRY. * Otherwise return %NULL. * @returns the registry name. */ get_registry_name(): string | null; /** * Gets the value of this reference, e.g. a DOI if the * reference kind is %AS_REFERENCE_KIND_DOI or an URL * for %AS_REFERENCE_KIND_CITATION_CFF. * @returns the value of this reference. */ get_value(): string; /** * Sets the reference kind. * @param kind the #AsReferenceKind, e.g. %AS_REFERENCE_KIND_DOI. */ set_kind(kind: ReferenceKind | null): void; /** * Sets a name of a registry if this reference is of * type %AS_REFERENCE_KIND_REGISTRY. * @param name name of an external registry. */ set_registry_name(name: string): void; /** * Sets a value for this reference. * @param value a value for this reference, e.g. "10.1000/182" */ set_value(value: string): void; } namespace Relation { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class Relation extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): Relation; // Static methods /** * Calculate a compatibility sore between 0 and 100 based on the given set of * AsRelationCheckResults. * * A compatibility of 100 means all requirements are satisfied and the component will * run perfectly on the confoguration it was tested agains, while 0 means it will not run at all. * @param rc_results an array of #AsRelationCheckResult */ static check_results_get_compatibility_score(rc_results: RelationCheckResult[]): number; // Methods /** * The version comparison type. * @returns an enum of type #AsRelationCompare */ get_compare(): RelationCompare; /** * Gets the display side kind, in case this item is of * kind %AS_RELATION_ITEM_KIND_DISPLAY_LENGTH * @returns a #AsDisplaySideKind or %AS_DISPLAY_SIDE_KIND_UNKNOWN */ get_display_side_kind(): DisplaySideKind; /** * The kind of the item of this #AsRelation. * @returns an enum of type #AsRelationItemKind */ get_item_kind(): RelationItemKind; /** * The type (and thereby strength) of this #AsRelation. * @returns an enum of type #AsRelationKind */ get_kind(): RelationKind; /** * Get the value of this #AsRelation item as #AsControlKind if the * type of this relation is %AS_RELATION_ITEM_KIND_CONTROL. * Otherwise return %AS_CONTROL_KIND_UNKNOWN * @returns a #AsControlKind or %AS_CONTROL_KIND_UNKNOWN in case the item is not of the right kind. */ get_value_control_kind(): ControlKind; get_value_int(): number; /** * If this #AsRelation is of kind %AS_RELATION_ITEM_KIND_INTERNET, return the * minimum bandwidth requirement of the component, if set. * * If the relation is of a different kind, or the requirement isn’t set, this * returns `0`. * @returns The minimum bandwidth requirement, in Mbit/s. */ get_value_internet_bandwidth(): number; /** * Get the value of this #AsRelation item as #AsInternetKind if the * type of this relation is %AS_RELATION_ITEM_KIND_INTERNET. * Otherwise return %AS_INTERNET_KIND_UNKNOWN * @returns a #AsInternetKind or %AS_INTERNET_KIND_UNKNOWN in case the item is not of the right kind. */ get_value_internet_kind(): InternetKind; /** * In case this #AsRelation is of kind %AS_RELATION_ITEM_KIND_DISPLAY_LENGTH, * return the set logical pixel amount. * @returns The logical pixel amount for this display length, value <= 0 on error. */ get_value_px(): number; get_value_str(): string; get_version(): string; /** * Test if this relation is satisfied on the current system or with the * provided #AsPool. If no #AsSystemInfo is found, a temporary one will be * created. If no #AsPool is provided, any component relationships can not * be validated and an error will be thrown. * @param system_info an #AsSystemInfo to use for system information. * @param pool an #AsPool to find component dependencies in. * @returns an #AsRelationCheckResult with details about the result, or %NULL on error. */ is_satisfied(system_info?: SystemInfo | null, pool?: Pool | null): RelationCheckResult | null; /** * Set the version comparison type of this #AsRelation. * @param compare the new #AsRelationCompare */ set_compare(compare: RelationCompare | null): void; /** * Sets the display side kind, in case this item is of * kind %AS_RELATION_ITEM_KIND_DISPLAY_LENGTH * @param kind the new #AsDisplaySideKind. */ set_display_side_kind(kind: DisplaySideKind | null): void; /** * Set the kind of the item this #AsRelation is about. * @param kind the new #AsRelationItemKind */ set_item_kind(kind: RelationItemKind | null): void; /** * Set the kind of this #AsRelation. * @param kind the new #AsRelationKind */ set_kind(kind: RelationKind | null): void; /** * Set relation item value from an #AsControlKind. * @param kind an #AsControlKind */ set_value_control_kind(kind: ControlKind | null): void; /** * Sets the item value as an integer, if the given item type * of this #AsRelation permits integer values. * @param value the new value. */ set_value_int(value: number): void; set_value_internet_bandwidth(bandwidth_mbitps: number): void; /** * Set relation item value from an #AsInternetKind. * @param kind an #AsInternetKind */ set_value_internet_kind(kind: InternetKind | null): void; /** * Sets the item value as logical pixel count. This requires the relation * to be of item kind %AS_RELATION_ITEM_KIND_DISPLAY_LENGTH. * @param logical_px logical pixel count. */ set_value_px(logical_px: number): void; /** * Sets the item value as a string, if the given item type * of this #AsRelation permits string values. * @param value the new value. */ set_value_str(value: string): void; /** * Sets the item version. * @param version the new version. */ set_version(version: string): void; /** * Tests whether the version number of this #AsRelation is fulfilled by * `version`. Whether the given version is sufficient to fulfill the version * requirement of this #AsRelation is determined by its comparison resraint. * @param version a version number, e.g. `1.2.0` * @returns %TRUE if the version from the parameter is sufficient. */ version_compare(version: string): boolean; } namespace RelationCheckResult { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class RelationCheckResult extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): RelationCheckResult; // Methods /** * Retrieve the error code, in case this result represents an error. * @returns an #AsRelationError */ get_error_code(): RelationError; /** * Get a human-readable message about the state of this relation. * May be %NULL in case the relation is satisfied and there is no further information about it. * @returns a human-readable message about this relation's state. */ get_message(): string | null; /** * Get the relation that this check result was generated for. * @returns an #AsRelation or %NULL */ get_relation(): Relation | null; /** * Returns the status of this relation check result. * If the status is %AS_RELATION_STATUS_ERROR, an error message will * have been set as message. * @returns an #AsRelationStatus */ get_status(): RelationStatus; /** * Set the error code in case this result represents an error. * @param ecode the #AsRelationError */ set_error_code(ecode: RelationError | null): void; /** * Set an #AsRelation to associate with this check result. * @param relation the #AsRelation */ set_relation(relation: Relation): void; /** * Set the outcome of this relation check result. * @param status the new #AsRelationStatus */ set_status(status: RelationStatus | null): void; } namespace Release { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class Release extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): Release; // Methods /** * Add an artifact (binary / source download) for this release. * @param artifact The #AsArtifact. */ add_artifact(artifact: Artifact): void; /** * Add information about a (resolved) issue to this release. * @param issue The #AsIssue. */ add_issue(issue: Issue): void; /** * Add a tag to this release. * @param ns The namespace the tag belongs to * @param tag The tag name * @returns %TRUE if the tag was added. */ add_tag(ns: string, tag: string): boolean; /** * Remove all tags associated with this release. */ clear_tags(): void; /** * Get a list of all downloadable artifacts that are associated with * this release. * @returns an array of #AsArtifact objects. */ get_artifacts(): Artifact[]; get_context(): Context | null; /** * Gets the release date. * @returns The date in ISO8601 format. */ get_date(): string | null; /** * Gets the end-of-life date for this release. * @returns The EOL date in ISO8601 format. */ get_date_eol(): string | null; /** * Gets the release description markup for a given locale. * @returns markup, or %NULL for not set or invalid */ get_description(): string | null; /** * Get a list of all issues resolved by this release. * @returns an array of #AsIssue objects. */ get_issues(): Issue[]; /** * Gets the type of the release. * (development or stable release) */ get_kind(): ReleaseKind; /** * Gets the release timestamp. * @returns timestamp, or 0 for unset */ get_timestamp(): number; /** * Gets the UNIX timestamp for the date when this * release is out of support (end-of-life). * @returns UNIX timestamp, or 0 for unset or invalid. */ get_timestamp_eol(): number; /** * Gets the urgency of the release * (showing how important it is to update to a more recent release) * @returns #AsUrgencyKind, or %AS_URGENCY_KIND_UNKNOWN for not set */ get_urgency(): UrgencyKind; /** * Gets an URL. * @param url_kind the URL kind, e.g. %AS_RELEASE_URL_KIND_DETAILS. * @returns string, or %NULL if unset */ get_url(url_kind: ReleaseUrlKind | null): string | null; /** * Gets the release version. * @returns string, or %NULL for not set or invalid */ get_version(): string | null; /** * Test if the release is tagged with the selected tag. * @param ns The namespace the tag belongs to * @param tag The tag name * @returns %TRUE if tag exists. */ has_tag(ns: string, tag: string): boolean; /** * Remove a tag from this release * @param ns The namespace the tag belongs to * @param tag The tag name * @returns %TRUE if the tag was removed. */ remove_tag(ns: string, tag: string): boolean; /** * Sets the document context this release is associated * with. * @param context the #AsContext. */ set_context(context: Context): void; /** * Sets the release date. * @param date the date in ISO8601 format. */ set_date(date: string): void; /** * Sets the end-of-life date for this release. * @param date the EOL date in ISO8601 format. */ set_date_eol(date: string): void; /** * Sets the description release markup. * @param description the description markup. * @param locale the BCP47 locale, or %NULL. e.g. "en-GB". */ set_description(description: string, locale?: string | null): void; /** * Sets the release kind to distinguish between end-user ready * stable releases and development prereleases.. * @param kind the #AsReleaseKind */ set_kind(kind: ReleaseKind | null): void; /** * Sets the release timestamp. * @param timestamp the timestamp value. */ set_timestamp(timestamp: number): void; /** * Sets the UNIX timestamp for the date when this * release is out of support (end-of-life). * @param timestamp the timestamp value. */ set_timestamp_eol(timestamp: number): void; /** * Sets the release urgency. * @param urgency the urgency of this release/update (as #AsUrgencyKind) */ set_urgency(urgency: UrgencyKind | null): void; /** * Sets an URL for this release. * @param url_kind the URL kind, e.g. %AS_RELEASE_URL_KIND_DETAILS * @param url the full URL. */ set_url(url_kind: ReleaseUrlKind | null, url: string): void; /** * Sets the release version. * @param version the version string. */ set_version(version: string): void; /** * Compare the version numbers of two releases. * @param rel2 an #AsRelease * @returns 1 if @rel1 version is higher than @rel2, 0 if versions are equal, -1 if @rel2 version is higher than @rel1. */ vercmp(rel2: Release): number; } namespace ReleaseList { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class ReleaseList extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): ReleaseList; // Methods /** * Append a release entry to this #AsReleaseList container. * @param release */ add(release: Release): void; /** * Remove all release entries from this releases object. */ clear(): void; /** * Get the #AsContext associated with these releases. * This function may return %NULL if no context is set * @returns the associated #AsContext or %NULL */ get_context(): Context | null; /** * Get the release entries as #GPtrArray. * @returns an array of #AsRelease instances. */ get_entries(): Release[]; /** * Returns the #AsReleaseListKind of the release metadata * associated with this component. * @returns The kind. */ get_kind(): ReleaseListKind; /** * Get the amount of components in this box. * @returns Amount of components. */ get_size(): number; /** * Get the remote URL to obtain release information from. * @returns The URL of external release data, or %NULL */ get_url(): string | null; /** * Retrieve a release entry at the respective index from the * release entry list. * @param index The release entry index. * @returns An #AsRelease or %NULL */ index_safe(index: number): Release; /** * Check if there are any components present. * @returns %TRUE if this component box is empty. */ is_empty(): boolean; /** * Load release information from XML bytes. * @param context the attached #AsContext or %NULL to use the current context * @param bytes the release XML data as #GBytes * @returns %TRUE on success. */ load_from_bytes(context: Context | null, bytes: GLib.Bytes | Uint8Array): boolean; /** * Sets the document context these releases are associated with. * @param context the #AsContext. */ set_context(context: Context): void; /** * Sets the #AsReleaseListKind of the release metadata * associated with this component. * @param kind the #AsComponentKind. */ set_kind(kind: ReleaseListKind | null): void; /** * Set the amount of release entries stored. * @param size */ set_size(size: number): void; /** * Set a remote URL pointing to an AppStream release info file. * @param url the web URL where release data is found. */ set_url(url: string): void; /** * Sort releases by their release version, * starting with the most recent release. */ sort(): void; } namespace Review { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps { date: Review; description: string; flags: number; id: string; locale: string; priority: number; rating: number; reviewer_id: string; reviewerId: string; reviewer_name: string; reviewerName: string; summary: string; version: string; } } class Review extends GObject.Object { static $gtype: GObject.GType; // Properties get date(): Review; set date(val: Review); get description(): string; set description(val: string); get flags(): number; set flags(val: number); get id(): string; set id(val: string); get locale(): string; set locale(val: string); /** * The priority for the review, where positive numbers indicate * a better review for the specific user. */ get priority(): number; set priority(val: number); get rating(): number; set rating(val: number); get reviewer_id(): string; set reviewer_id(val: string); get reviewerId(): string; set reviewerId(val: string); get reviewer_name(): string; set reviewer_name(val: string); get reviewerName(): string; set reviewerName(val: string); get summary(): string; set summary(val: string); get version(): string; set version(val: string); // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): Review; // Methods /** * Adds flags to an existing review without replacing the other flags. * @param flags a #AsReviewFlags, e.g. %AS_REVIEW_FLAG_SELF */ add_flags(flags: ReviewFlags | null): void; /** * Adds metadata to the review object. * It is left for the the plugin to use this method as required, but a * typical use would be to store some secure authentication token. * @param key a string * @param value a string */ add_metadata(key: string, value: string): void; /** * Checks if two reviews are the same. * @param review2 a #AsReview instance. * @returns %TRUE for success */ equal(review2: Review): boolean; /** * Gets the date the review was originally submitted. * @returns the #GDateTime, or %NULL for unset */ get_date(): GLib.DateTime; /** * Gets the multi-line review text that forms the body of the review. * @returns the string, or %NULL */ get_description(): string; /** * Gets any flags set on the review, for example if the user has already * voted on the review or if the user wrote the review themselves. * @returns a #AsReviewFlags, e.g. %AS_REVIEW_FLAG_SELF */ get_flags(): ReviewFlags; /** * Gets the review id. * @returns the review identifier, e.g. "deadbeef" */ get_id(): string; /** * Gets the locale for the review. * @returns the string, or %NULL */ get_locale(): string; /** * Gets some metadata from a review object. * It is left for the the plugin to use this method as required, but a * typical use would be to retrieve some secure authentication token. * @param key a string * @returns A string value, or %NULL for not found */ get_metadata_item(key: string): string; /** * This allows the UI to sort reviews into the correct order. * Higher numbers indicate a more important or relevant review. * @returns the review priority, or 0 for unset. */ get_priority(): number; /** * Gets the star rating of the review, where 100 is 5 stars. * @returns integer as a percentage, or 0 for unset */ get_rating(): number; /** * Gets the name of the reviewer. * @returns the reviewer ID, e.g. "deadbeef", or %NULL */ get_reviewer_id(): string; /** * Gets the name of the reviewer. * @returns the reviewer name, e.g. "David Smith", or %NULL */ get_reviewer_name(): string; /** * Gets the review summary. * @returns the one-line summary, e.g. "Awesome application" */ get_summary(): string; /** * Gets the version string for the application being reviewed.. * @returns the version string, e.g. "0.1.2", or %NULL for unset */ get_version(): string; /** * Sets the date the review was originally submitted. * @param date a #GDateTime, or %NULL */ set_date(date: GLib.DateTime): void; /** * Sets the multi-line review text that forms the body of the review. * @param description multi-line description */ set_description(description: string): void; /** * Gets any flags set on the review, for example if the user has already * voted on the review or if the user wrote the review themselves. * @param flags a #AsReviewFlags, e.g. %AS_REVIEW_FLAG_SELF */ set_flags(flags: ReviewFlags | null): void; /** * Sets the review identifier that is unique to each review. * @param id review identifier, e.g. "deadbeef" */ set_id(id: string): void; /** * Sets the locale for the review. * @param locale a BCP47 locale, e.g. "en-GB" */ set_locale(locale: string): void; /** * Sets the priority for the review, where positive numbers indicate * a better review for the specific user. * @param priority a priority value */ set_priority(priority: number): void; /** * Sets the star rating of the review, where 100 is 5 stars.. * @param rating a integer as a percentage, or 0 for unset */ set_rating(rating: number): void; /** * Sets the name of the reviewer, which can be left unset. * @param reviewer_id the reviewer ID, e.g. "deadbeef" */ set_reviewer_id(reviewer_id: string): void; /** * Sets the name of the reviewer, which can be left unset. * @param reviewer_name the reviewer name, e.g. "David Smith" */ set_reviewer_name(reviewer_name: string): void; /** * Sets the one-line summary that may be displayed in bold. * @param summary a one-line summary, e.g. "Awesome application" */ set_summary(summary: string): void; /** * Sets the version string for the application being reviewed. * @param version a version string, e.g. "0.1.2" */ set_version(version: string): void; } namespace Screenshot { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class Screenshot extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): Screenshot; // Methods /** * Adds an image to the screenshot. * @param image a #AsImage instance. */ add_image(image: Image): void; /** * Adds a video to the screenshot. * @param video a #AsVideo instance. */ add_video(video: Video): void; /** * Remove all images associated with this screenshot. */ clear_images(): void; /** * Gets the image caption * @returns the caption */ get_caption(): string; /** * Returns the #AsContext associated with this screenshot. * This function may return %NULL if no context is set. * @returns the #AsContext used by this screenshot. */ get_context(): Context | null; /** * Get the GUI environment ID of this screenshot, if any * is associated with it. E.g. "plasma-mobile" or "gnome:dark". * @returns The GUI environment ID the screenshot was recorded in, or %NULL if none set. */ get_environment(): string | null; /** * Gets the AsImage closest to the target size. The #AsImage may not actually * be the requested size, and the application may have to pad / rescale the * image to make it fit. * Only images for the current active locale (or fallback, if images are not localized) * are considered. * @param width target width * @param height target height * @param scale the target scaling factor. * @returns an #AsImage, or %NULL */ get_image(width: number, height: number, scale: number): Image | null; /** * Gets the images for this screenshots. Only images valid for the current * language are returned. We return all sizes. * @returns an array */ get_images(): Image[]; /** * Returns an array of all images we have, regardless of their * size and language. * @returns an array */ get_images_all(): Image[]; /** * Gets the screenshot kind. * @returns a #AsScreenshotKind */ get_kind(): ScreenshotKind; /** * Gets the screenshot media kind. * @returns a #AsScreenshotMediaKind */ get_media_kind(): ScreenshotMediaKind; /** * Gets the videos for this screenshots. Only videos valid for the current * language selection are returned. We return all sizes. * @returns an array */ get_videos(): Video[]; /** * Returns an array of all screencast videos we have, regardless of their * size and locale. * @returns an array */ get_videos_all(): Video[]; /** * Performs a quick validation on this screenshot * @returns TRUE if the screenshot is a complete #AsScreenshot */ is_valid(): boolean; /** * Sets a caption on the screenshot * @param caption the caption text. * @param locale */ set_caption(caption: string, locale: string): void; /** * Sets the document context this screenshot is associated * with. * @param context the #AsContext. */ set_context(context: Context): void; /** * Sets the GUI environment ID of this screenshot. * @param env_id the GUI environment ID, e.g. "plasma-mobile" or "gnome:dark" */ set_environment(env_id?: string | null): void; /** * Sets the screenshot kind. * @param kind the #AsScreenshotKind. */ set_kind(kind: ScreenshotKind | null): void; } namespace Suggested { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class Suggested extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): Suggested; // Methods /** * Add a component id to this suggested object. * @param cid The component id to add */ add_id(cid: string): void; /** * Get a list of components id that generated the suggestion * @returns an array of components id */ get_ids(): string[]; /** * Gets the suggested kind. * @returns the #AsSuggestedKind */ get_kind(): SuggestedKind; /** * Check if the essential properties of this suggestion are * populated with useful data. * @returns %TRUE if we have useful data. */ is_valid(): boolean; /** * Sets the suggested kind. * @param kind the #AsSuggestedKind, e.g. %AS_SUGGESTED_KIND_HEURISTIC. */ set_kind(kind: SuggestedKind | null): void; } namespace SystemInfo { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class SystemInfo extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): SystemInfo; static new_template_for_chassis(chassis: ChassisKind): SystemInfo; // Methods /** * Return a human readable device name for the given modalias. * Will return the modalias again if no device name could be found, * and returns %NULL on error. * If `allow_fallback` is set to %FALSE, this function will return %NULL and error * %AS_SYSTEM_INFO_ERROR_NOT_FOUND in case no suitable description could be found. * @param modalias the modalias value to resolve (may contain wildcards). * @param allow_fallback fall back to low-quality data if no better information is available * @returns a human-readable device name, or %NULL on error. */ get_device_name_for_modalias(modalias: string, allow_fallback: boolean): string; /** * Get the current display length for the given side kind. * If the display size is unknown, this function will return 0. * @param side the #AsDisplaySideKind to select. * @returns the display size in logical pixels. */ get_display_length(side: DisplaySideKind | null): number; /** * Check whether graphical applications can be displayed via X11 or Wayland. * @returns %TRUE if graphical applications can be displayed. */ get_gui_available(): boolean; /** * Get the name of the current kernel, e.g. "Linux" * @returns the current OS kernel name */ get_kernel_name(): string; /** * Get the version of the current kernel, e.g. "6.2.0-2" * @returns the current kernel version */ get_kernel_version(): string; /** * Get the current total amount of physical memory in MiB. * @returns the current total amount of usable memory in MiB */ get_memory_total(): number; /** * Get a list of modaliases for all the hardware on this system that has them. * @returns a list of modaliases on the system. */ get_modaliases(): string[]; /** * Get the AppStream component ID of the current operating system. * @returns the component ID of the current OS. */ get_os_cid(): string; /** * Get the homepage URL of the current operating system. * @returns the homepage of the current OS. */ get_os_homepage(): string; /** * Get the ID of the current operating system. * @returns the current OS ID. */ get_os_id(): string; /** * Get the humen-readable name of the current operating system. * @returns the name of the current OS. */ get_os_name(): string; /** * Get the version string of the current operating system. * @returns the version of the current OS. */ get_os_version(): string; /** * Check if there is a device on this system that matches the given modalias glob. * @param modalias_glob the modalias value to to look for, may contain wildcards. * @returns %TRUE if a matching device was found. */ has_device_matching_modalias(modalias_glob: string): boolean; /** * Test if the current system has a specific user input control method. * Returns %AS_CHECK_RESULT_UNKNOWN if we could not test for an input control method, * %AS_CHECK_RESULT_ERROR on error and %AS_CHECK_RESULT_FALSE if the control was not found. * @param kind the #AsControlKind to test for. * @returns %AS_CHECK_RESULT_TRUE if control was found */ has_input_control(kind: ControlKind | null): CheckResult; /** * Receive a path in /sys for the devices with the given modalias. * @param modalias the modalias value to resolve. * @returns the syspath, or %NULL if none was found. */ modalias_to_syspath(modalias: string): string; /** * Set the current display length for the given side kind. * The size needs to be in device-independent pixels, see the * AppStream documentation for more information: * https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-relations-display_length * @param side the #AsDisplaySideKind to select. * @param value_dip the length value in device-independt pixels. */ set_display_length(side: DisplaySideKind | null, value_dip: number): void; /** * Set whether this system has a GUI / desktop environment available. * @param available %TRUE if GUI is available. */ set_gui_available(available: boolean): void; /** * Explicitly mark a user input control as present or not present on this system. * @param kind the #AsControlKind to set. * @param found %TRUE if the control should be marked as found. */ set_input_control(kind: ControlKind | null, found: boolean): void; } namespace Translation { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class Translation extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): Translation; // Methods /** * The ID (e.g. Gettext translation domain) of this translation. */ get_id(): string; /** * The translation system type. * @returns an enum of type #AsTranslationKind */ get_kind(): TranslationKind; /** * The locale of the source strings for this component. If this has not been * explicitly specified, `en_US` will be returned. * @returns The locale of the source strings for this component. */ get_source_locale(): string; /** * Set the ID (e.g. Gettext domain) of this translation. * @param id The ID of this translation. */ set_id(id: string): void; /** * Set the translation system type. * @param kind the new #AsTranslationKind */ set_kind(kind: TranslationKind | null): void; /** * Set the locale of the source strings for this component. In gettext, this is * referred to as the `C` locale. It’s almost always `en_US`, but for some * components it may not be. * @param locale The POSIX locale that the source strings are in, or %NULL if unknown or default. */ set_source_locale(locale?: string | null): void; } namespace Validator { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class Validator extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): Validator; // Methods /** * Override the severity of a selected tag. For most tags, the severity * can not be lowered to a value that makes a validation * that would otherwise fail pass (so e.g. an ERROR can not become an INFO). * Some tags are explicitly allowed to have their severity lowered to enable * validation of e.g. incomplete metadata during development. * Increasing the severity of any tag is always allowed. * @param tag the issue tag to override, e.g. "release-time-missing" * @param severity_override the new severity for the tag. */ add_override(tag: string, severity_override: IssueSeverity | null): boolean; /** * Add release metadata explicitly from bytes. * @param release_fname File basename of the release metadata file to add. * @param release_metadata Data of the release metadata file. */ add_release_bytes(release_fname: string, release_metadata: GLib.Bytes | Uint8Array): boolean; /** * Add a release metadata file to the validation process. * @param release_file Release metadata file to add. */ add_release_file(release_file: Gio.File): boolean; /** * Check the current registered values again and return %TRUE * if no issues were found that would make the previously validated * files fail validation. * * Usually you do not need to call this function explicitly, as * the as_validator_validate_* functions will already return whether * data was valid as return value. * @returns %TRUE if previously validated files were valid. */ check_success(): boolean; /** * Clear all release information that was explicitly added to the * validation process. */ clear_release_data(): void; get_allow_net(): boolean; /** * Get the number of files for which issues have been found. * @returns The number of files that have issues. */ get_issue_files_count(): number; /** * Get a list of found metadata format issues. * @returns a list of #AsValidatorIssue instances, free with g_list_free() */ get_issues(): ValidatorIssue[]; /** * Get a hash table of filenames mapped to lists of issues. * This is useful if validation was requested for multiple files and * a list of issues per-file is desired without prior explicit sorting. * @returns a file to issue list mapping */ get_issues_per_file(): GLib.HashTable; get_report_yaml(): string; get_strict(): boolean; /** * Get the explanatory text for a given issue tag. * @param tag * @returns Explanation text. */ get_tag_explanation(tag: string): string; /** * Get the severity for a given issue tag. * @param tag * @returns The #AsIssueSeverity */ get_tag_severity(tag: string): IssueSeverity; /** * Get an array of all tags known to the validator. * @returns A string array of tags */ get_tags(): string[]; /** * If set to %TRUE, the validator will be allowed to connect * to the internet to e.g. check URLs for validity. * @param value %TRUE if remote URLs should be checked for availability. */ set_allow_net(value: boolean): void; /** * Enable or disable strict mode. In strict mode, any found issue will result * in a failed validation (except for issues of "pedantic" severity). * Otherwise, only a "warning" or "error" will cause the validation to fail. * @param is_strict %TRUE to enable strict mode. */ set_strict(is_strict: boolean): void; /** * Validate AppStream XML data from a byte array. * Remember to run %as_validator_clear_issues if you do not want previous * validation runs to affect the outcome of this validation. * @param metadata XML metadata as #GBytes. * @returns %TRUE if bytes validated successfully. */ validate_bytes(metadata: GLib.Bytes | Uint8Array): boolean; /** * Validate AppStream XML data. * @param metadata XML metadata. * @returns %TRUE if data validated successfully. */ validate_data(metadata: string): boolean; /** * Validate an AppStream XML file. * @param metadata_file An AppStream XML file. * @returns %TRUE if file validated successfully. */ validate_file(metadata_file: Gio.File): boolean; /** * Validate a full directory tree for issues in AppStream metadata. * @param root_dir The root directory of the filesystem tree that should be validated. * @returns %TRUE if file validated successfully. */ validate_tree(root_dir: string): boolean; } namespace ValidatorIssue { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class ValidatorIssue extends GObject.Object { static $gtype: GObject.GType; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): ValidatorIssue; // Methods /** * The component-id this issue is about. * @returns a component-id. */ get_cid(): string; /** * Get an extended explanation on this issue, or return %NULL * if none is available. * @returns the explanation */ get_explanation(): string; /** * The name of the file this issue was found in. * @returns the filename */ get_filename(): string; /** * Get a short context hint for this issue. * @returns the hint */ get_hint(): string; /** * Gets the line number where this issue was found. * @returns the line number where this issue occured, or -1 if unknown. */ get_line(): number; /** * Builds a string containing all information about the location * where this issue occured that we know about. * @returns the location hint as string. */ get_location(): string; /** * Gets the severity of this issue. * @returns a #AsIssueSeverity */ get_severity(): IssueSeverity; /** * Gets the issue tag string for this issue. * @returns the tag */ get_tag(): string; /** * Sets the component-id this issue is about. * @param cid a component-id. */ set_cid(cid: string): void; /** * Set explanatory text for this issue. * @param explanation the explanation. */ set_explanation(explanation: string): void; /** * Sets the name of the file the issue was found in. * @param fname the filename. */ set_filename(fname: string): void; /** * Sets short issue hint. * @param hint the hint. */ set_hint(hint: string): void; /** * Sets the line number where this issue was found. * @param line the line number. */ set_line(line: number): void; /** * Sets the severity for this issue. * @param severity the #AsIssueSeverity. */ set_severity(severity: IssueSeverity | null): void; /** * Sets the issue tag. * @param tag the tag. */ set_tag(tag: string): void; } namespace Video { // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class Video extends GObject.Object { static $gtype: GObject.GType