/// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /** * 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://WebKit2WebExtension?version=4.0' { // Module dependencies import type Soup from 'gi://Soup?version=2.4'; 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'; import type JavaScriptCore from 'gi://JavaScriptCore?version=4.0'; import type Gtk from 'gi://Gtk?version=3.0'; import type xlib from 'gi://xlib?version=2.0'; import type Gdk from 'gi://Gdk?version=3.0'; import type cairo from 'cairo'; import type Pango from 'gi://Pango?version=1.0'; import type HarfBuzz from 'gi://HarfBuzz?version=0.0'; import type freetype2 from 'gi://freetype2?version=2.0'; import type GdkPixbuf from 'gi://GdkPixbuf?version=2.0'; import type Atk from 'gi://Atk?version=1.0'; export namespace WebKit2WebExtension { /** * WebKit2WebExtension-4.0 */ /** * Enum values used to denote the various levels of console messages. */ /** * Enum values used to denote the various levels of console messages. */ export namespace ConsoleMessageLevel { export const $gtype: GObject.GType; } enum ConsoleMessageLevel { /** * Information message. */ INFO, /** * Log message. */ LOG, /** * Warning message. */ WARNING, /** * Error message. */ ERROR, /** * Debug message. */ DEBUG, } /** * Enum values used to denote the various sources of console messages. */ /** * Enum values used to denote the various sources of console messages. */ export namespace ConsoleMessageSource { export const $gtype: GObject.GType; } enum ConsoleMessageSource { /** * Message produced by JavaScript. */ JAVASCRIPT, /** * Network messages. */ NETWORK, /** * Messages produced by console API. */ CONSOLE_API, /** * Security messages. */ SECURITY, /** * Other messages. */ OTHER, } /** * Enum values used to denote the stock actions for * #WebKitContextMenuItems */ /** * Enum values used to denote the stock actions for * #WebKitContextMenuItems */ export namespace ContextMenuAction { export const $gtype: GObject.GType; } enum ContextMenuAction { /** * No action, used by separator menu items. */ NO_ACTION, /** * Open current link. */ OPEN_LINK, /** * Open current link in a new window. */ OPEN_LINK_IN_NEW_WINDOW, /** * Download link destination. */ DOWNLOAD_LINK_TO_DISK, /** * Copy link location to the clipboard. */ COPY_LINK_TO_CLIPBOARD, /** * Open current image in a new window. */ OPEN_IMAGE_IN_NEW_WINDOW, /** * Download current image. */ DOWNLOAD_IMAGE_TO_DISK, /** * Copy current image to the clipboard. */ COPY_IMAGE_TO_CLIPBOARD, /** * Copy current image location to the clipboard. */ COPY_IMAGE_URL_TO_CLIPBOARD, /** * Open current frame in a new window. */ OPEN_FRAME_IN_NEW_WINDOW, /** * Load the previous history item. */ GO_BACK, /** * Load the next history item. */ GO_FORWARD, /** * Stop any ongoing loading operation. */ STOP, /** * Reload the contents of current view. */ RELOAD, /** * Copy current selection the clipboard. */ COPY, /** * Cut current selection to the clipboard. */ CUT, /** * Paste clipboard contents. */ PASTE, /** * Delete current selection. */ DELETE, /** * Select all text. */ SELECT_ALL, /** * Input methods menu. */ INPUT_METHODS, /** * Unicode menu. */ UNICODE, /** * A proposed replacement for a misspelled word. */ SPELLING_GUESS, /** * An indicator that spellchecking found no proposed replacements. */ NO_GUESSES_FOUND, /** * Causes the spellchecker to ignore the word for this session. */ IGNORE_SPELLING, /** * Causes the spellchecker to add the word to the dictionary. */ LEARN_SPELLING, /** * Ignore grammar. */ IGNORE_GRAMMAR, /** * Font options menu. */ FONT_MENU, /** * Bold. */ BOLD, /** * Italic. */ ITALIC, /** * Underline. */ UNDERLINE, /** * Outline. */ OUTLINE, /** * Open current element in the inspector. */ INSPECT_ELEMENT, /** * Open current video element in a new window. */ OPEN_VIDEO_IN_NEW_WINDOW, /** * Open current audio element in a new window. */ OPEN_AUDIO_IN_NEW_WINDOW, /** * Copy video link location in to the clipboard. */ COPY_VIDEO_LINK_TO_CLIPBOARD, /** * Copy audio link location in to the clipboard. */ COPY_AUDIO_LINK_TO_CLIPBOARD, /** * Enable or disable media controls. */ TOGGLE_MEDIA_CONTROLS, /** * Enable or disable media loop. */ TOGGLE_MEDIA_LOOP, /** * Show current video element in fullscreen mode. */ ENTER_VIDEO_FULLSCREEN, /** * Play current media element. */ MEDIA_PLAY, /** * Pause current media element. */ MEDIA_PAUSE, /** * Mute current media element. */ MEDIA_MUTE, /** * Download video to disk. Since 2.2 */ DOWNLOAD_VIDEO_TO_DISK, /** * Download audio to disk. Since 2.2 */ DOWNLOAD_AUDIO_TO_DISK, /** * Insert an emoji. Since 2.26 */ INSERT_EMOJI, /** * Paste clipboard contents as plain text. Since 2.30 */ PASTE_AS_PLAIN_TEXT, /** * Custom action defined by applications. */ CUSTOM, } /** * Used to indicate a particular stage in form submission. See * #WebKitWebPage::will-submit-form. */ /** * Used to indicate a particular stage in form submission. See * #WebKitWebPage::will-submit-form. */ export namespace FormSubmissionStep { export const $gtype: GObject.GType; } enum FormSubmissionStep { /** * indicates the form's * DOM submit event is about to be emitted. */ SEND_DOM_EVENT, /** * indicates the form is about * to be submitted. */ COMPLETE, } /** * Enum values used to denote errors happening when sending user messages. */ /** * Enum values used to denote errors happening when sending user messages. */ export namespace UserMessageError { export const $gtype: GObject.GType; } enum UserMessageError { /** * The message was not handled by the receiver. */ USER_MESSAGE_UNHANDLED_MESSAGE, } const DOM_CSS_RULE_CHARSET_RULE: number; const DOM_CSS_RULE_FONT_FACE_RULE: number; const DOM_CSS_RULE_IMPORT_RULE: number; const DOM_CSS_RULE_MEDIA_RULE: number; const DOM_CSS_RULE_PAGE_RULE: number; const DOM_CSS_RULE_STYLE_RULE: number; const DOM_CSS_RULE_UNKNOWN_RULE: number; const DOM_CSS_VALUE_CSS_CUSTOM: number; const DOM_CSS_VALUE_CSS_INHERIT: number; const DOM_CSS_VALUE_CSS_PRIMITIVE_VALUE: number; const DOM_CSS_VALUE_CSS_VALUE_LIST: number; const DOM_ELEMENT_ALLOW_KEYBOARD_INPUT: number; const DOM_EVENT_AT_TARGET: number; const DOM_EVENT_BLUR: number; const DOM_EVENT_BUBBLING_PHASE: number; const DOM_EVENT_CAPTURING_PHASE: number; const DOM_EVENT_CHANGE: number; const DOM_EVENT_CLICK: number; const DOM_EVENT_DBLCLICK: number; const DOM_EVENT_DRAGDROP: number; const DOM_EVENT_FOCUS: number; const DOM_EVENT_KEYDOWN: number; const DOM_EVENT_KEYPRESS: number; const DOM_EVENT_KEYUP: number; const DOM_EVENT_MOUSEDOWN: number; const DOM_EVENT_MOUSEDRAG: number; const DOM_EVENT_MOUSEMOVE: number; const DOM_EVENT_MOUSEOUT: number; const DOM_EVENT_MOUSEOVER: number; const DOM_EVENT_MOUSEUP: number; const DOM_EVENT_NONE: number; const DOM_EVENT_SELECT: number; const DOM_KEYBOARD_EVENT_KEY_LOCATION_LEFT: number; const DOM_KEYBOARD_EVENT_KEY_LOCATION_NUMPAD: number; const DOM_KEYBOARD_EVENT_KEY_LOCATION_RIGHT: number; const DOM_KEYBOARD_EVENT_KEY_LOCATION_STANDARD: number; const DOM_NODE_ATTRIBUTE_NODE: number; const DOM_NODE_CDATA_SECTION_NODE: number; const DOM_NODE_COMMENT_NODE: number; const DOM_NODE_DOCUMENT_FRAGMENT_NODE: number; const DOM_NODE_DOCUMENT_NODE: number; const DOM_NODE_DOCUMENT_POSITION_CONTAINED_BY: number; const DOM_NODE_DOCUMENT_POSITION_CONTAINS: number; const DOM_NODE_DOCUMENT_POSITION_DISCONNECTED: number; const DOM_NODE_DOCUMENT_POSITION_FOLLOWING: number; const DOM_NODE_DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number; const DOM_NODE_DOCUMENT_POSITION_PRECEDING: number; const DOM_NODE_DOCUMENT_TYPE_NODE: number; const DOM_NODE_ELEMENT_NODE: number; const DOM_NODE_ENTITY_NODE: number; const DOM_NODE_ENTITY_REFERENCE_NODE: number; /** * Accept the node. Use this macro as return value of webkit_dom_node_filter_accept_node() * implementation to accept the given #WebKitDOMNode */ const DOM_NODE_FILTER_ACCEPT: number; /** * Reject the node. Use this macro as return value of webkit_dom_node_filter_accept_node() * implementation to reject the given #WebKitDOMNode. The children of the given node will * be rejected too. */ const DOM_NODE_FILTER_REJECT: number; /** * Show all nodes. */ const DOM_NODE_FILTER_SHOW_ALL: number; /** * Show #WebKitDOMAttr nodes. */ const DOM_NODE_FILTER_SHOW_ATTRIBUTE: number; /** * Show #WebKitDOMCDataSection nodes. */ const DOM_NODE_FILTER_SHOW_CDATA_SECTION: number; /** * Show #WebKitDOMComment nodes. */ const DOM_NODE_FILTER_SHOW_COMMENT: number; /** * Show #WebKitDOMDocument nodes. */ const DOM_NODE_FILTER_SHOW_DOCUMENT: number; /** * Show #WebKitDOMDocumentFragment nodes. */ const DOM_NODE_FILTER_SHOW_DOCUMENT_FRAGMENT: number; /** * Show #WebKitDOMDocumentType nodes. */ const DOM_NODE_FILTER_SHOW_DOCUMENT_TYPE: number; /** * Show #WebKitDOMElement nodes. */ const DOM_NODE_FILTER_SHOW_ELEMENT: number; /** * Show #WebKitDOMEntity nodes. */ const DOM_NODE_FILTER_SHOW_ENTITY: number; /** * Show #WebKitDOMEntityReference nodes. */ const DOM_NODE_FILTER_SHOW_ENTITY_REFERENCE: number; /** * Show #WebKitDOMNotation nodes. */ const DOM_NODE_FILTER_SHOW_NOTATION: number; /** * Show #WebKitDOMProcessingInstruction nodes. */ const DOM_NODE_FILTER_SHOW_PROCESSING_INSTRUCTION: number; /** * Show #WebKitDOMText nodes. */ const DOM_NODE_FILTER_SHOW_TEXT: number; /** * Skip the node. Use this macro as return value of webkit_dom_node_filter_accept_node() * implementation to skip the given #WebKitDOMNode. The children of the given node will * not be skipped. */ const DOM_NODE_FILTER_SKIP: number; const DOM_NODE_PROCESSING_INSTRUCTION_NODE: number; const DOM_NODE_TEXT_NODE: number; const DOM_RANGE_END_TO_END: number; const DOM_RANGE_END_TO_START: number; const DOM_RANGE_NODE_AFTER: number; const DOM_RANGE_NODE_BEFORE: number; const DOM_RANGE_NODE_BEFORE_AND_AFTER: number; const DOM_RANGE_NODE_INSIDE: number; const DOM_RANGE_START_TO_END: number; const DOM_RANGE_START_TO_START: number; const DOM_XPATH_RESULT_ANY_TYPE: number; const DOM_XPATH_RESULT_ANY_UNORDERED_NODE_TYPE: number; const DOM_XPATH_RESULT_BOOLEAN_TYPE: number; const DOM_XPATH_RESULT_FIRST_ORDERED_NODE_TYPE: number; const DOM_XPATH_RESULT_NUMBER_TYPE: number; const DOM_XPATH_RESULT_ORDERED_NODE_ITERATOR_TYPE: number; const DOM_XPATH_RESULT_ORDERED_NODE_SNAPSHOT_TYPE: number; const DOM_XPATH_RESULT_STRING_TYPE: number; const DOM_XPATH_RESULT_UNORDERED_NODE_ITERATOR_TYPE: number; const DOM_XPATH_RESULT_UNORDERED_NODE_SNAPSHOT_TYPE: number; interface WebExtensionInitializeFunction { (extension: WebExtension): void; } interface WebExtensionInitializeWithUserDataFunction { (extension: WebExtension, user_data: GLib.Variant): void; } /** * Enum values with flags representing the context of a #WebKitHitTestResult. */ /** * Enum values with flags representing the context of a #WebKitHitTestResult. */ export namespace HitTestResultContext { export const $gtype: GObject.GType; } enum HitTestResultContext { /** * anywhere in the document. */ DOCUMENT, /** * a hyperlink element. */ LINK, /** * an image element. */ IMAGE, /** * a video or audio element. */ MEDIA, /** * an editable element */ EDITABLE, /** * a scrollbar element. */ SCROLLBAR, /** * a selected element. Since 2.8 */ SELECTION, } namespace ContextMenu { // Signal signatures interface SignalSignatures extends GObject.Object.SignalSignatures {} // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } /** * Represents the context menu in a #WebKitWebView. * * #WebKitContextMenu represents a context menu containing * #WebKitContextMenuItems in a #WebKitWebView. * * When a #WebKitWebView is about to display the context menu, it * emits the #WebKitWebView::context-menu signal, which has the * #WebKitContextMenu as an argument. You can modify it, adding new * submenus that you can create with webkit_context_menu_new(), adding * new #WebKitContextMenuItems with * webkit_context_menu_prepend(), webkit_context_menu_append() or * webkit_context_menu_insert(), maybe after having removed the * existing ones with webkit_context_menu_remove_all(). */ class ContextMenu extends GObject.Object { static $gtype: GObject.GType; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: ContextMenu.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): ContextMenu; static new_with_items(items: ContextMenuItem[]): ContextMenu; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods /** * Adds `item` at the end of the `menu`. * @param item the #WebKitContextMenuItem to add */ append(item: ContextMenuItem): void; /** * Gets the first item in the `menu`. * @returns the first #WebKitContextMenuItem of @menu, or %NULL if the #WebKitContextMenu is empty. */ first(): ContextMenuItem; /** * Gets the #GdkEvent that triggered the context menu. This function only returns a valid * #GdkEvent when called for a #WebKitContextMenu passed to #WebKitWebView::context-menu * signal; in all other cases, %NULL is returned. * * The returned #GdkEvent is expected to be one of the following types: * * * a #GdkEventButton of type %GDK_BUTTON_PRESS when the context menu was triggered with mouse. * * * a #GdkEventKey of type %GDK_KEY_PRESS if the keyboard was used to show the menu. * * * a generic #GdkEvent of type %GDK_NOTHING when the #GtkWidget::popup-menu signal was used to show the context menu. * * * @returns the menu event or %NULL. */ get_event(): Gdk.Event; /** * Gets the item at the given position in the `menu`. * @param position the position of the item, counting from 0 * @returns the #WebKitContextMenuItem at position @position in @menu, or %NULL if the position is off the end of the @menu. */ get_item_at_position(position: number): ContextMenuItem; /** * Returns the item list of `menu`. * @returns a #GList of #WebKitContextMenuItems */ get_items(): ContextMenuItem[]; /** * Gets the length of the `menu`. * @returns the number of #WebKitContextMenuItems in @menu */ get_n_items(): number; /** * Gets the user data of `menu`. * * This function can be used from the UI Process to get user data previously set * from the Web Process with webkit_context_menu_set_user_data(). * @returns the user data of @menu, or %NULL if @menu doesn't have user data */ get_user_data(): GLib.Variant; /** * Inserts `item` into the `menu` at the given position. * * If `position` is negative, or is larger than the number of items * in the #WebKitContextMenu, the item is added on to the end of * the `menu`. The first position is 0. * @param item the #WebKitContextMenuItem to add * @param position the position to insert the item */ insert(item: ContextMenuItem, position: number): void; /** * Gets the last item in the `menu`. * @returns the last #WebKitContextMenuItem of @menu, or %NULL if the #WebKitContextMenu is empty. */ last(): ContextMenuItem; /** * Moves `item` to the given position in the `menu`. * * If `position` is negative, or is larger than the number of items * in the #WebKitContextMenu, the item is added on to the end of * the `menu`. * The first position is 0. * @param item the #WebKitContextMenuItem to add * @param position the new position to move the item */ move_item(item: ContextMenuItem, position: number): void; /** * Adds `item` at the beginning of the `menu`. * @param item the #WebKitContextMenuItem to add */ prepend(item: ContextMenuItem): void; /** * Removes `item` from the `menu`. * * See also webkit_context_menu_remove_all() to remove all items. * @param item the #WebKitContextMenuItem to remove */ remove(item: ContextMenuItem): void; /** * Removes all items of the `menu`. */ remove_all(): void; /** * Sets user data to `menu`. * * This function can be used from a Web Process extension to set user data * that can be retrieved from the UI Process using webkit_context_menu_get_user_data(). * If the `user_data` #GVariant is floating, it is consumed. * @param user_data a #GVariant */ set_user_data(user_data: GLib.Variant): void; } namespace ContextMenuItem { // Signal signatures interface SignalSignatures extends GObject.InitiallyUnowned.SignalSignatures {} // Constructor properties interface interface ConstructorProps extends GObject.InitiallyUnowned.ConstructorProps {} } /** * One item of a #WebKitContextMenu. * * The #WebKitContextMenu is composed of #WebKitContextMenuItems. These items can be created from a #GtkAction, from a * #WebKitContextMenuAction or from a #WebKitContextMenuAction and a * label. These #WebKitContextMenuActions denote stock actions * for the items. You can also create separators and submenus. */ class ContextMenuItem extends GObject.InitiallyUnowned { static $gtype: GObject.GType; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: ContextMenuItem.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](action: Gtk.Action): ContextMenuItem; static new_from_gaction(action: Gio.Action, label: string, target?: GLib.Variant | null): ContextMenuItem; static new_from_stock_action(action: ContextMenuAction): ContextMenuItem; static new_from_stock_action_with_label(action: ContextMenuAction, label: string): ContextMenuItem; static new_separator(): ContextMenuItem; static new_with_submenu(label: string, submenu: ContextMenu): ContextMenuItem; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods /** * Gets the action associated to `item` as a #GtkAction. * @returns the #GtkAction associated to the #WebKitContextMenuItem, or %NULL if @item is a separator. */ get_action(): Gtk.Action; /** * Gets the action associated to `item` as a #GAction. * @returns the #GAction associated to the #WebKitContextMenuItem, or %NULL if @item is a separator. */ get_gaction(): Gio.Action; /** * Gets the #WebKitContextMenuAction of `item`. * * If the #WebKitContextMenuItem was not * created for a stock action %WEBKIT_CONTEXT_MENU_ACTION_CUSTOM will be * returned. If the #WebKitContextMenuItem is a separator %WEBKIT_CONTEXT_MENU_ACTION_NO_ACTION * will be returned. * @returns the #WebKitContextMenuAction of @item */ get_stock_action(): ContextMenuAction; /** * Gets the submenu of `item`. * @returns the #WebKitContextMenu representing the submenu of @item or %NULL if @item doesn't have a submenu. */ get_submenu(): ContextMenu; /** * Checks whether `item` is a separator. * @returns %TRUE is @item is a separator or %FALSE otherwise */ is_separator(): boolean; /** * Sets or replaces the `item` submenu. * * If `submenu` is %NULL the current * submenu of `item` is removed. * @param submenu a #WebKitContextMenu */ set_submenu(submenu?: ContextMenu | null): void; } namespace DOMAttr { // Signal signatures interface SignalSignatures extends DOMNode.SignalSignatures { 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::owner-element': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::specified': (pspec: GObject.ParamSpec) => void; 'notify::value': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMNode.ConstructorProps, DOMEventTarget.ConstructorProps { local_name: string; localName: string; name: string; namespace_uri: string; namespaceUri: string; owner_element: DOMElement; ownerElement: DOMElement; prefix: string; specified: boolean; value: string; } } class DOMAttr extends DOMNode implements DOMEventTarget { static $gtype: GObject.GType; // Properties get local_name(): string; get localName(): string; get name(): string; get namespace_uri(): string; get namespaceUri(): string; get owner_element(): DOMElement; get ownerElement(): DOMElement; get prefix(): string; get specified(): boolean; get value(): string; set value(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMAttr.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_local_name(): string; get_name(): string; get_namespace_uri(): string; get_owner_element(): DOMElement; get_prefix(): string; get_specified(): boolean; get_value(): string; set_value(value: string): void; // Inherited methods add_event_listener(event_name: string, handler: GObject.Callback, use_capture: boolean): boolean; // Conflicted with WebKit2WebExtension.DOMEventTarget.add_event_listener add_event_listener(...args: never[]): any; dispatch_event(event: DOMEvent): boolean; remove_event_listener(event_name: string, handler: any | null, use_capture: boolean): boolean; // Conflicted with WebKit2WebExtension.DOMEventTarget.remove_event_listener remove_event_listener(...args: never[]): any; vfunc_add_event_listener(event_name: string, handler: GObject.Closure, use_capture: boolean): boolean; vfunc_dispatch_event(event: DOMEvent): boolean; vfunc_remove_event_listener(event_name: string, handler: any | null, use_capture: boolean): boolean; /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMBlob { // Signal signatures interface SignalSignatures extends DOMObject.SignalSignatures { 'notify::size': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMObject.ConstructorProps { size: number; } } class DOMBlob extends DOMObject { static $gtype: GObject.GType; // Properties get size(): number; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMBlob.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_size(): number; } namespace DOMCDATASection { // Signal signatures interface SignalSignatures extends DOMText.SignalSignatures { 'notify::whole-text': (pspec: GObject.ParamSpec) => void; 'notify::data': (pspec: GObject.ParamSpec) => void; 'notify::length': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMText.ConstructorProps, DOMEventTarget.ConstructorProps {} } class DOMCDATASection extends DOMText implements DOMEventTarget { static $gtype: GObject.GType; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMCDATASection.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; // Conflicted with WebKit2WebExtension.DOMCharacterData.get_data get_data(...args: never[]): any; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; // Conflicted with WebKit2WebExtension.DOMCharacterData.set_data set_data(...args: never[]): any; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMCSSRule { // Signal signatures interface SignalSignatures extends DOMObject.SignalSignatures { 'notify::css-text': (pspec: GObject.ParamSpec) => void; 'notify::parent-rule': (pspec: GObject.ParamSpec) => void; 'notify::parent-style-sheet': (pspec: GObject.ParamSpec) => void; 'notify::type': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMObject.ConstructorProps { css_text: string; cssText: string; parent_rule: DOMCSSRule; parentRule: DOMCSSRule; parent_style_sheet: DOMCSSStyleSheet; parentStyleSheet: DOMCSSStyleSheet; type: number; } } class DOMCSSRule extends DOMObject { static $gtype: GObject.GType; // Properties get css_text(): string; set css_text(val: string); get cssText(): string; set cssText(val: string); get parent_rule(): DOMCSSRule; get parentRule(): DOMCSSRule; get parent_style_sheet(): DOMCSSStyleSheet; get parentStyleSheet(): DOMCSSStyleSheet; get type(): number; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMCSSRule.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_css_text(): string; get_parent_rule(): DOMCSSRule; get_parent_style_sheet(): DOMCSSStyleSheet; get_rule_type(): number; set_css_text(value: string): void; } namespace DOMCSSRuleList { // Signal signatures interface SignalSignatures extends DOMObject.SignalSignatures { 'notify::length': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMObject.ConstructorProps { length: number; } } class DOMCSSRuleList extends DOMObject { static $gtype: GObject.GType; // Properties get length(): number; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMCSSRuleList.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_length(): number; item(index: number): DOMCSSRule; } namespace DOMCSSStyleDeclaration { // Signal signatures interface SignalSignatures extends DOMObject.SignalSignatures { 'notify::css-text': (pspec: GObject.ParamSpec) => void; 'notify::length': (pspec: GObject.ParamSpec) => void; 'notify::parent-rule': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMObject.ConstructorProps { css_text: string; cssText: string; length: number; parent_rule: DOMCSSRule; parentRule: DOMCSSRule; } } class DOMCSSStyleDeclaration extends DOMObject { static $gtype: GObject.GType; // Properties get css_text(): string; set css_text(val: string); get cssText(): string; set cssText(val: string); get length(): number; get parent_rule(): DOMCSSRule; get parentRule(): DOMCSSRule; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMCSSStyleDeclaration.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_css_text(): string; get_length(): number; get_parent_rule(): DOMCSSRule; get_property_priority(propertyName: string): string; get_property_shorthand(propertyName: string): string; get_property_value(propertyName: string): string; is_property_implicit(propertyName: string): boolean; item(index: number): string; remove_property(propertyName: string): string; set_css_text(value: string): void; set_property(propertyName: string, value: string, priority: string): void; // Conflicted with GObject.Object.set_property set_property(...args: never[]): any; } namespace DOMCSSStyleSheet { // Signal signatures interface SignalSignatures extends DOMStyleSheet.SignalSignatures { 'notify::css-rules': (pspec: GObject.ParamSpec) => void; 'notify::owner-rule': (pspec: GObject.ParamSpec) => void; 'notify::rules': (pspec: GObject.ParamSpec) => void; 'notify::disabled': (pspec: GObject.ParamSpec) => void; 'notify::href': (pspec: GObject.ParamSpec) => void; 'notify::media': (pspec: GObject.ParamSpec) => void; 'notify::owner-node': (pspec: GObject.ParamSpec) => void; 'notify::parent-style-sheet': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::type': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMStyleSheet.ConstructorProps { css_rules: DOMCSSRuleList; cssRules: DOMCSSRuleList; owner_rule: DOMCSSRule; ownerRule: DOMCSSRule; rules: DOMCSSRuleList; } } class DOMCSSStyleSheet extends DOMStyleSheet { static $gtype: GObject.GType; // Properties get css_rules(): DOMCSSRuleList; get cssRules(): DOMCSSRuleList; get owner_rule(): DOMCSSRule; get ownerRule(): DOMCSSRule; get rules(): DOMCSSRuleList; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMCSSStyleSheet.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods add_rule(selector: string, style: string, index: number): number; delete_rule(index: number): void; get_css_rules(): DOMCSSRuleList; get_owner_rule(): DOMCSSRule; get_rules(): DOMCSSRuleList; insert_rule(rule: string, index: number): number; remove_rule(index: number): void; } namespace DOMCSSValue { // Signal signatures interface SignalSignatures extends DOMObject.SignalSignatures { 'notify::css-text': (pspec: GObject.ParamSpec) => void; 'notify::css-value-type': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMObject.ConstructorProps { css_text: string; cssText: string; css_value_type: number; cssValueType: number; } } class DOMCSSValue extends DOMObject { static $gtype: GObject.GType; // Properties get css_text(): string; set css_text(val: string); get cssText(): string; set cssText(val: string); get css_value_type(): number; get cssValueType(): number; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMCSSValue.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_css_text(): string; get_css_value_type(): number; set_css_text(value: string): void; } namespace DOMCharacterData { // Signal signatures interface SignalSignatures extends DOMNode.SignalSignatures { 'notify::data': (pspec: GObject.ParamSpec) => void; 'notify::length': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMNode.ConstructorProps, DOMEventTarget.ConstructorProps { data: string; length: number; } } class DOMCharacterData extends DOMNode implements DOMEventTarget { static $gtype: GObject.GType; // Properties get data(): string; set data(val: string); get length(): number; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMCharacterData.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods append_data(data: string): void; delete_data(offset: number, length: number): void; get_data(): string; // Conflicted with GObject.Object.get_data get_data(...args: never[]): any; get_length(): number; insert_data(offset: number, data: string): void; replace_data(offset: number, length: number, data: string): void; set_data(value: string): void; substring_data(offset: number, length: number): string; // Inherited methods add_event_listener(event_name: string, handler: GObject.Callback, use_capture: boolean): boolean; // Conflicted with WebKit2WebExtension.DOMEventTarget.add_event_listener add_event_listener(...args: never[]): any; dispatch_event(event: DOMEvent): boolean; remove_event_listener(event_name: string, handler: any | null, use_capture: boolean): boolean; // Conflicted with WebKit2WebExtension.DOMEventTarget.remove_event_listener remove_event_listener(...args: never[]): any; vfunc_add_event_listener(event_name: string, handler: GObject.Closure, use_capture: boolean): boolean; vfunc_dispatch_event(event: DOMEvent): boolean; vfunc_remove_event_listener(event_name: string, handler: any | null, use_capture: boolean): boolean; /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMClientRect { // Signal signatures interface SignalSignatures extends DOMObject.SignalSignatures { 'notify::bottom': (pspec: GObject.ParamSpec) => void; 'notify::height': (pspec: GObject.ParamSpec) => void; 'notify::left': (pspec: GObject.ParamSpec) => void; 'notify::right': (pspec: GObject.ParamSpec) => void; 'notify::top': (pspec: GObject.ParamSpec) => void; 'notify::width': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMObject.ConstructorProps { bottom: number; height: number; left: number; right: number; top: number; width: number; } } class DOMClientRect extends DOMObject { static $gtype: GObject.GType; // Properties get bottom(): number; get height(): number; get left(): number; get right(): number; get top(): number; get width(): number; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMClientRect.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods /** * Returns the bottom coordinate of `self,` relative to the viewport. * @returns A #gfloat */ get_bottom(): number; /** * Returns the height of `self`. * @returns A #gfloat */ get_height(): number; /** * Returns the left coordinate of `self,` relative to the viewport. * @returns A #gfloat */ get_left(): number; /** * Returns the right coordinate of `self,` relative to the viewport. * @returns A #gfloat */ get_right(): number; /** * Returns the top coordinate of `self,` relative to the viewport. * @returns A #gfloat */ get_top(): number; /** * Returns the width of `self`. * @returns A #gfloat */ get_width(): number; } namespace DOMClientRectList { // Signal signatures interface SignalSignatures extends DOMObject.SignalSignatures { 'notify::length': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMObject.ConstructorProps { length: number; } } class DOMClientRectList extends DOMObject { static $gtype: GObject.GType; // Properties get length(): number; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMClientRectList.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods /** * Returns the number of #WebKitDOMClientRect objects that `self` contains. * @returns A #gulong */ get_length(): number; /** * Returns the #WebKitDOMClientRect object that `self` contains at `index`. * @param index A #gulong * @returns A #WebKitDOMClientRect */ item(index: number): DOMClientRect; } namespace DOMComment { // Signal signatures interface SignalSignatures extends DOMCharacterData.SignalSignatures { 'notify::data': (pspec: GObject.ParamSpec) => void; 'notify::length': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMCharacterData.ConstructorProps, DOMEventTarget.ConstructorProps {} } class DOMComment extends DOMCharacterData implements DOMEventTarget { static $gtype: GObject.GType; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMComment.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; // Conflicted with WebKit2WebExtension.DOMCharacterData.get_data get_data(...args: never[]): any; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; // Conflicted with WebKit2WebExtension.DOMCharacterData.set_data set_data(...args: never[]): any; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMDOMImplementation { // Signal signatures interface SignalSignatures extends DOMObject.SignalSignatures { 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMObject.ConstructorProps {} } class DOMDOMImplementation extends DOMObject { static $gtype: GObject.GType; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMDOMImplementation.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods create_css_style_sheet(title: string, media: string): DOMCSSStyleSheet; create_document( namespaceURI: string | null, qualifiedName: string, doctype?: DOMDocumentType | null, ): DOMDocument; create_document_type(qualifiedName: string, publicId: string, systemId: string): DOMDocumentType; create_html_document(title: string): DOMHTMLDocument; has_feature(feature: string, version: string): boolean; } namespace DOMDOMSelection { // Signal signatures interface SignalSignatures extends DOMObject.SignalSignatures { 'notify::anchor-node': (pspec: GObject.ParamSpec) => void; 'notify::anchor-offset': (pspec: GObject.ParamSpec) => void; 'notify::base-node': (pspec: GObject.ParamSpec) => void; 'notify::base-offset': (pspec: GObject.ParamSpec) => void; 'notify::extent-node': (pspec: GObject.ParamSpec) => void; 'notify::extent-offset': (pspec: GObject.ParamSpec) => void; 'notify::focus-node': (pspec: GObject.ParamSpec) => void; 'notify::focus-offset': (pspec: GObject.ParamSpec) => void; 'notify::is-collapsed': (pspec: GObject.ParamSpec) => void; 'notify::range-count': (pspec: GObject.ParamSpec) => void; 'notify::type': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMObject.ConstructorProps { anchor_node: DOMNode; anchorNode: DOMNode; anchor_offset: number; anchorOffset: number; base_node: DOMNode; baseNode: DOMNode; base_offset: number; baseOffset: number; extent_node: DOMNode; extentNode: DOMNode; extent_offset: number; extentOffset: number; focus_node: DOMNode; focusNode: DOMNode; focus_offset: number; focusOffset: number; is_collapsed: boolean; isCollapsed: boolean; range_count: number; rangeCount: number; type: string; } } class DOMDOMSelection extends DOMObject { static $gtype: GObject.GType; // Properties get anchor_node(): DOMNode; get anchorNode(): DOMNode; get anchor_offset(): number; get anchorOffset(): number; get base_node(): DOMNode; get baseNode(): DOMNode; get base_offset(): number; get baseOffset(): number; get extent_node(): DOMNode; get extentNode(): DOMNode; get extent_offset(): number; get extentOffset(): number; get focus_node(): DOMNode; get focusNode(): DOMNode; get focus_offset(): number; get focusOffset(): number; get is_collapsed(): boolean; get isCollapsed(): boolean; get range_count(): number; get rangeCount(): number; get type(): string; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMDOMSelection.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods add_range(range: DOMRange): void; collapse(node: DOMNode, offset: number): void; collapse_to_end(): void; collapse_to_start(): void; contains_node(node: DOMNode, allowPartial: boolean): boolean; delete_from_document(): void; empty(): void; extend(node: DOMNode, offset: number): void; get_anchor_node(): DOMNode; get_anchor_offset(): number; get_base_node(): DOMNode; get_base_offset(): number; get_extent_node(): DOMNode; get_extent_offset(): number; get_focus_node(): DOMNode; get_focus_offset(): number; get_is_collapsed(): boolean; get_range_at(index: number): DOMRange; get_range_count(): number; get_selection_type(): string; modify(alter: string, direction: string, granularity: string): void; remove_all_ranges(): void; select_all_children(node: DOMNode): void; set_base_and_extent(baseNode: DOMNode, baseOffset: number, extentNode: DOMNode, extentOffset: number): void; set_position(node: DOMNode, offset: number): void; } namespace DOMDOMTokenList { // Signal signatures interface SignalSignatures extends DOMObject.SignalSignatures { 'notify::length': (pspec: GObject.ParamSpec) => void; 'notify::value': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMObject.ConstructorProps { length: number; value: string; } } class DOMDOMTokenList extends DOMObject { static $gtype: GObject.GType; // Properties get length(): number; get value(): string; set value(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMDOMTokenList.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods contains(token: string): boolean; get_length(): number; get_value(): string; item(index: number): string; replace(token: string, newToken: string): void; set_value(value: string): void; toggle(token: string, force: boolean): boolean; } namespace DOMDOMWindow { // Signal signatures interface SignalSignatures extends DOMObject.SignalSignatures { 'notify::closed': (pspec: GObject.ParamSpec) => void; 'notify::default-status': (pspec: GObject.ParamSpec) => void; 'notify::device-pixel-ratio': (pspec: GObject.ParamSpec) => void; 'notify::document': (pspec: GObject.ParamSpec) => void; 'notify::frame-element': (pspec: GObject.ParamSpec) => void; 'notify::frames': (pspec: GObject.ParamSpec) => void; 'notify::inner-height': (pspec: GObject.ParamSpec) => void; 'notify::inner-width': (pspec: GObject.ParamSpec) => void; 'notify::length': (pspec: GObject.ParamSpec) => void; 'notify::name': (pspec: GObject.ParamSpec) => void; 'notify::offscreen-buffering': (pspec: GObject.ParamSpec) => void; 'notify::opener': (pspec: GObject.ParamSpec) => void; 'notify::orientation': (pspec: GObject.ParamSpec) => void; 'notify::outer-height': (pspec: GObject.ParamSpec) => void; 'notify::outer-width': (pspec: GObject.ParamSpec) => void; 'notify::page-x-offset': (pspec: GObject.ParamSpec) => void; 'notify::page-xoffset': (pspec: GObject.ParamSpec) => void; 'notify::page-y-offset': (pspec: GObject.ParamSpec) => void; 'notify::page-yoffset': (pspec: GObject.ParamSpec) => void; 'notify::parent': (pspec: GObject.ParamSpec) => void; 'notify::screen-left': (pspec: GObject.ParamSpec) => void; 'notify::screen-top': (pspec: GObject.ParamSpec) => void; 'notify::screen-x': (pspec: GObject.ParamSpec) => void; 'notify::screen-y': (pspec: GObject.ParamSpec) => void; 'notify::scroll-x': (pspec: GObject.ParamSpec) => void; 'notify::scroll-y': (pspec: GObject.ParamSpec) => void; 'notify::self': (pspec: GObject.ParamSpec) => void; 'notify::status': (pspec: GObject.ParamSpec) => void; 'notify::top': (pspec: GObject.ParamSpec) => void; 'notify::window': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMObject.ConstructorProps, DOMEventTarget.ConstructorProps { closed: boolean; default_status: string; defaultStatus: string; device_pixel_ratio: number; devicePixelRatio: number; document: DOMDocument; frame_element: DOMElement; frameElement: DOMElement; frames: DOMDOMWindow; inner_height: number; innerHeight: number; inner_width: number; innerWidth: number; length: number; name: string; offscreen_buffering: boolean; offscreenBuffering: boolean; opener: DOMDOMWindow; orientation: number; outer_height: number; outerHeight: number; outer_width: number; outerWidth: number; page_x_offset: number; pageXOffset: number; page_y_offset: number; pageYOffset: number; parent: DOMDOMWindow; screen_left: number; screenLeft: number; screen_top: number; screenTop: number; screen_x: number; screenX: number; screen_y: number; screenY: number; scroll_x: number; scrollX: number; scroll_y: number; scrollY: number; self: DOMDOMWindow; status: string; top: DOMDOMWindow; window: DOMDOMWindow; } } class DOMDOMWindow extends DOMObject implements DOMEventTarget { static $gtype: GObject.GType; // Properties get closed(): boolean; get default_status(): string; set default_status(val: string); get defaultStatus(): string; set defaultStatus(val: string); get device_pixel_ratio(): number; get devicePixelRatio(): number; get document(): DOMDocument; get frame_element(): DOMElement; get frameElement(): DOMElement; get frames(): DOMDOMWindow; get inner_height(): number; get innerHeight(): number; get inner_width(): number; get innerWidth(): number; get length(): number; get name(): string; set name(val: string); get offscreen_buffering(): boolean; get offscreenBuffering(): boolean; get opener(): DOMDOMWindow; get orientation(): number; get outer_height(): number; get outerHeight(): number; get outer_width(): number; get outerWidth(): number; get page_x_offset(): number; get pageXOffset(): number; get page_y_offset(): number; get pageYOffset(): number; get parent(): DOMDOMWindow; get screen_left(): number; get screenLeft(): number; get screen_top(): number; get screenTop(): number; get screen_x(): number; get screenX(): number; get screen_y(): number; get screenY(): number; get scroll_x(): number; get scrollX(): number; get scroll_y(): number; get scrollY(): number; get self(): DOMDOMWindow; get status(): string; set status(val: string); get top(): DOMDOMWindow; get window(): DOMDOMWindow; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMDOMWindow.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods alert(message: string): void; blur(): void; capture_events(): void; close(): void; confirm(message: string): boolean; find( string: string, caseSensitive: boolean, backwards: boolean, wrap: boolean, wholeWord: boolean, searchInFrames: boolean, showDialog: boolean, ): boolean; focus(): void; get_closed(): boolean; get_computed_style(element: DOMElement, pseudoElement?: string | null): DOMCSSStyleDeclaration; get_default_status(): string; get_device_pixel_ratio(): number; get_document(): DOMDocument; get_frame_element(): DOMElement; get_frames(): DOMDOMWindow; get_inner_height(): number; get_inner_width(): number; get_length(): number; get_name(): string; get_offscreen_buffering(): boolean; get_opener(): DOMDOMWindow; get_orientation(): number; get_outer_height(): number; get_outer_width(): number; get_page_x_offset(): number; get_page_y_offset(): number; get_parent(): DOMDOMWindow; get_screen_left(): number; get_screen_top(): number; get_screen_x(): number; get_screen_y(): number; get_scroll_x(): number; get_scroll_y(): number; get_selection(): DOMDOMSelection; get_self(): DOMDOMWindow; get_status(): string; get_top(): DOMDOMWindow; get_window(): DOMDOMWindow; move_by(x: number, y: number): void; move_to(x: number, y: number): void; print(): void; prompt(message: string, defaultValue: string): string; release_events(): void; resize_by(x: number, y: number): void; resize_to(width: number, height: number): void; scroll_by(x: number, y: number): void; scroll_to(x: number, y: number): void; set_default_status(value: string): void; set_name(value: string): void; set_status(value: string): void; stop(): void; webkit_message_handlers_post_message(handler: string, message: string): boolean; // Inherited methods add_event_listener(event_name: string, handler: GObject.Callback, use_capture: boolean): boolean; // Conflicted with WebKit2WebExtension.DOMEventTarget.add_event_listener add_event_listener(...args: never[]): any; dispatch_event(event: DOMEvent): boolean; remove_event_listener(event_name: string, handler: any | null, use_capture: boolean): boolean; // Conflicted with WebKit2WebExtension.DOMEventTarget.remove_event_listener remove_event_listener(...args: never[]): any; vfunc_add_event_listener(event_name: string, handler: GObject.Closure, use_capture: boolean): boolean; vfunc_dispatch_event(event: DOMEvent): boolean; vfunc_remove_event_listener(event_name: string, handler: any | null, use_capture: boolean): boolean; /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMDocument { // Signal signatures interface SignalSignatures extends DOMNode.SignalSignatures { 'notify::active-element': (pspec: GObject.ParamSpec) => void; 'notify::anchors': (pspec: GObject.ParamSpec) => void; 'notify::applets': (pspec: GObject.ParamSpec) => void; 'notify::body': (pspec: GObject.ParamSpec) => void; 'notify::character-set': (pspec: GObject.ParamSpec) => void; 'notify::charset': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::compat-mode': (pspec: GObject.ParamSpec) => void; 'notify::content-type': (pspec: GObject.ParamSpec) => void; 'notify::cookie': (pspec: GObject.ParamSpec) => void; 'notify::current-script': (pspec: GObject.ParamSpec) => void; 'notify::default-view': (pspec: GObject.ParamSpec) => void; 'notify::design-mode': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::doctype': (pspec: GObject.ParamSpec) => void; 'notify::document-element': (pspec: GObject.ParamSpec) => void; 'notify::document-uri': (pspec: GObject.ParamSpec) => void; 'notify::domain': (pspec: GObject.ParamSpec) => void; 'notify::embeds': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::forms': (pspec: GObject.ParamSpec) => void; 'notify::head': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::images': (pspec: GObject.ParamSpec) => void; 'notify::implementation': (pspec: GObject.ParamSpec) => void; 'notify::input-encoding': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::last-modified': (pspec: GObject.ParamSpec) => void; 'notify::links': (pspec: GObject.ParamSpec) => void; 'notify::origin': (pspec: GObject.ParamSpec) => void; 'notify::plugins': (pspec: GObject.ParamSpec) => void; 'notify::pointer-lock-element': (pspec: GObject.ParamSpec) => void; 'notify::preferred-stylesheet-set': (pspec: GObject.ParamSpec) => void; 'notify::ready-state': (pspec: GObject.ParamSpec) => void; 'notify::referrer': (pspec: GObject.ParamSpec) => void; 'notify::scripts': (pspec: GObject.ParamSpec) => void; 'notify::scrolling-element': (pspec: GObject.ParamSpec) => void; 'notify::selected-stylesheet-set': (pspec: GObject.ParamSpec) => void; 'notify::style-sheets': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::url': (pspec: GObject.ParamSpec) => void; 'notify::visibility-state': (pspec: GObject.ParamSpec) => void; 'notify::webkit-current-full-screen-element': (pspec: GObject.ParamSpec) => void; 'notify::webkit-full-screen-keyboard-input-allowed': (pspec: GObject.ParamSpec) => void; 'notify::webkit-fullscreen-element': (pspec: GObject.ParamSpec) => void; 'notify::webkit-fullscreen-enabled': (pspec: GObject.ParamSpec) => void; 'notify::webkit-is-full-screen': (pspec: GObject.ParamSpec) => void; 'notify::xml-encoding': (pspec: GObject.ParamSpec) => void; 'notify::xml-standalone': (pspec: GObject.ParamSpec) => void; 'notify::xml-version': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMNode.ConstructorProps, DOMEventTarget.ConstructorProps { active_element: DOMElement; activeElement: DOMElement; anchors: DOMHTMLCollection; applets: DOMHTMLCollection; body: DOMHTMLElement; character_set: string; characterSet: string; charset: string; child_element_count: number; childElementCount: number; children: DOMHTMLCollection; compat_mode: string; compatMode: string; content_type: string; contentType: string; cookie: string; current_script: DOMHTMLScriptElement; currentScript: DOMHTMLScriptElement; default_view: DOMDOMWindow; defaultView: DOMDOMWindow; design_mode: string; designMode: string; dir: string; doctype: DOMDocumentType; document_element: DOMElement; documentElement: DOMElement; document_uri: string; documentUri: string; domain: string; embeds: DOMHTMLCollection; first_element_child: DOMElement; firstElementChild: DOMElement; forms: DOMHTMLCollection; head: DOMHTMLHeadElement; hidden: boolean; images: DOMHTMLCollection; implementation: DOMDOMImplementation; input_encoding: string; inputEncoding: string; last_element_child: DOMElement; lastElementChild: DOMElement; last_modified: string; lastModified: string; links: DOMHTMLCollection; origin: string; plugins: DOMHTMLCollection; pointer_lock_element: DOMElement; pointerLockElement: DOMElement; preferred_stylesheet_set: string; preferredStylesheetSet: string; ready_state: string; readyState: string; referrer: string; scripts: DOMHTMLCollection; scrolling_element: DOMElement; scrollingElement: DOMElement; selected_stylesheet_set: string; selectedStylesheetSet: string; style_sheets: DOMStyleSheetList; styleSheets: DOMStyleSheetList; title: string; url: string; visibility_state: string; visibilityState: string; webkit_current_full_screen_element: DOMElement; webkitCurrentFullScreenElement: DOMElement; webkit_full_screen_keyboard_input_allowed: boolean; webkitFullScreenKeyboardInputAllowed: boolean; webkit_fullscreen_element: DOMElement; webkitFullscreenElement: DOMElement; webkit_fullscreen_enabled: boolean; webkitFullscreenEnabled: boolean; webkit_is_full_screen: boolean; webkitIsFullScreen: boolean; xml_encoding: string; xmlEncoding: string; xml_standalone: boolean; xmlStandalone: boolean; xml_version: string; xmlVersion: string; } } class DOMDocument extends DOMNode implements DOMEventTarget { static $gtype: GObject.GType; // Properties get active_element(): DOMElement; get activeElement(): DOMElement; get anchors(): DOMHTMLCollection; get applets(): DOMHTMLCollection; get body(): DOMHTMLElement; get character_set(): string; get characterSet(): string; get charset(): string; set charset(val: string); get child_element_count(): number; get childElementCount(): number; get children(): DOMHTMLCollection; get compat_mode(): string; get compatMode(): string; get content_type(): string; get contentType(): string; get cookie(): string; set cookie(val: string); get current_script(): DOMHTMLScriptElement; get currentScript(): DOMHTMLScriptElement; get default_view(): DOMDOMWindow; get defaultView(): DOMDOMWindow; get design_mode(): string; set design_mode(val: string); get designMode(): string; set designMode(val: string); get dir(): string; set dir(val: string); get doctype(): DOMDocumentType; get document_element(): DOMElement; get documentElement(): DOMElement; get document_uri(): string; set document_uri(val: string); get documentUri(): string; set documentUri(val: string); get domain(): string; get embeds(): DOMHTMLCollection; get first_element_child(): DOMElement; get firstElementChild(): DOMElement; get forms(): DOMHTMLCollection; get head(): DOMHTMLHeadElement; get hidden(): boolean; get images(): DOMHTMLCollection; get implementation(): DOMDOMImplementation; get input_encoding(): string; get inputEncoding(): string; get last_element_child(): DOMElement; get lastElementChild(): DOMElement; get last_modified(): string; get lastModified(): string; get links(): DOMHTMLCollection; get origin(): string; get plugins(): DOMHTMLCollection; get pointer_lock_element(): DOMElement; get pointerLockElement(): DOMElement; get preferred_stylesheet_set(): string; get preferredStylesheetSet(): string; get ready_state(): string; get readyState(): string; get referrer(): string; get scripts(): DOMHTMLCollection; get scrolling_element(): DOMElement; get scrollingElement(): DOMElement; get selected_stylesheet_set(): string; set selected_stylesheet_set(val: string); get selectedStylesheetSet(): string; set selectedStylesheetSet(val: string); get style_sheets(): DOMStyleSheetList; get styleSheets(): DOMStyleSheetList; get title(): string; set title(val: string); get url(): string; get visibility_state(): string; get visibilityState(): string; get webkit_current_full_screen_element(): DOMElement; get webkitCurrentFullScreenElement(): DOMElement; get webkit_full_screen_keyboard_input_allowed(): boolean; get webkitFullScreenKeyboardInputAllowed(): boolean; get webkit_fullscreen_element(): DOMElement; get webkitFullscreenElement(): DOMElement; get webkit_fullscreen_enabled(): boolean; get webkitFullscreenEnabled(): boolean; get webkit_is_full_screen(): boolean; get webkitIsFullScreen(): boolean; get xml_encoding(): string; get xmlEncoding(): string; get xml_standalone(): boolean; set xml_standalone(val: boolean); get xmlStandalone(): boolean; set xmlStandalone(val: boolean); get xml_version(): string; set xml_version(val: string); get xmlVersion(): string; set xmlVersion(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMDocument.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods adopt_node(source: DOMNode): DOMNode; caret_range_from_point(x: number, y: number): DOMRange; create_attribute(name: string): DOMAttr; create_attribute_ns(namespaceURI: string | null, qualifiedName: string): DOMAttr; create_cdata_section(data: string): DOMCDATASection; create_comment(data: string): DOMComment; create_css_style_declaration(): DOMCSSStyleDeclaration; create_document_fragment(): DOMDocumentFragment; create_element(tagName: string): DOMElement; create_element_ns(namespaceURI: string | null, qualifiedName: string): DOMElement; /** * This function has been removed from the DOM spec and it just returns %NULL. * @param name A #gchar * @returns A #WebKitDOMEntityReference */ create_entity_reference(name?: string | null): DOMEntityReference; create_event(eventType: string): DOMEvent; create_expression(expression: string, resolver: DOMXPathNSResolver): DOMXPathExpression; create_node_iterator( root: DOMNode, whatToShow: number, filter: DOMNodeFilter | null, expandEntityReferences: boolean, ): DOMNodeIterator; create_ns_resolver(nodeResolver: DOMNode): DOMXPathNSResolver; create_processing_instruction(target: string, data: string): DOMProcessingInstruction; create_range(): DOMRange; create_text_node(data: string): DOMText; create_tree_walker( root: DOMNode, whatToShow: number, filter: DOMNodeFilter | null, expandEntityReferences: boolean, ): DOMTreeWalker; element_from_point(x: number, y: number): DOMElement; evaluate( expression: string, contextNode: DOMNode, resolver: DOMXPathNSResolver | null, type: number, inResult?: DOMXPathResult | null, ): DOMXPathResult; exec_command(command: string, userInterface: boolean, value: string): boolean; exit_pointer_lock(): void; get_active_element(): DOMElement; get_anchors(): DOMHTMLCollection; get_applets(): DOMHTMLCollection; get_body(): DOMHTMLElement; get_character_set(): string; get_charset(): string; get_child_element_count(): number; get_children(): DOMHTMLCollection; get_compat_mode(): string; get_content_type(): string; get_cookie(): string; get_current_script(): DOMHTMLScriptElement; get_default_charset(): string; get_default_view(): DOMDOMWindow; get_design_mode(): string; get_dir(): string; get_doctype(): DOMDocumentType; get_document_element(): DOMElement; get_document_uri(): string; get_domain(): string; get_element_by_id(elementId: string): DOMElement; get_elements_by_class_name(class_name: string): DOMNodeList; get_elements_by_class_name_as_html_collection(classNames: string): DOMHTMLCollection; get_elements_by_name(elementName: string): DOMNodeList; get_elements_by_tag_name(tag_name: string): DOMNodeList; get_elements_by_tag_name_as_html_collection(tagname: string): DOMHTMLCollection; get_elements_by_tag_name_ns(namespace_uri: string, tag_name: string): DOMNodeList; get_elements_by_tag_name_ns_as_html_collection(namespaceURI: string, localName: string): DOMHTMLCollection; get_embeds(): DOMHTMLCollection; get_first_element_child(): DOMElement; get_forms(): DOMHTMLCollection; get_head(): DOMHTMLHeadElement; get_hidden(): boolean; get_images(): DOMHTMLCollection; get_implementation(): DOMDOMImplementation; get_input_encoding(): string; get_last_element_child(): DOMElement; get_last_modified(): string; get_links(): DOMHTMLCollection; get_origin(): string; get_override_style(element: DOMElement, pseudoElement?: string | null): DOMCSSStyleDeclaration; get_plugins(): DOMHTMLCollection; get_pointer_lock_element(): DOMElement; /** * This function has been removed and does nothing. * @returns A #gchar */ get_preferred_stylesheet_set(): string; get_ready_state(): string; get_referrer(): string; get_scripts(): DOMHTMLCollection; get_scrolling_element(): DOMElement; /** * This function has been removed and does nothing. * @returns A #gchar */ get_selected_stylesheet_set(): string; get_style_sheets(): DOMStyleSheetList; get_title(): string; get_url(): string; get_visibility_state(): string; get_webkit_current_fullscreen_element(): DOMElement; get_webkit_fullscreen_element(): DOMElement; get_webkit_fullscreen_enabled(): boolean; get_webkit_fullscreen_keyboard_input_allowed(): boolean; get_webkit_is_fullscreen(): boolean; get_xml_encoding(): string; get_xml_standalone(): boolean; get_xml_version(): string; has_focus(): boolean; import_node(importedNode: DOMNode, deep: boolean): DOMNode; query_command_enabled(command: string): boolean; query_command_indeterm(command: string): boolean; query_command_state(command: string): boolean; query_command_supported(command: string): boolean; query_command_value(command: string): string; query_selector(selectors: string): DOMElement; query_selector_all(selectors: string): DOMNodeList; set_body(value: DOMHTMLElement): void; set_charset(value: string): void; set_cookie(value: string): void; set_design_mode(value: string): void; set_dir(value: string): void; set_document_uri(value: string): void; /** * This function has been removed and does nothing. * @param value A #gchar */ set_selected_stylesheet_set(value: string): void; set_title(value: string): void; set_xml_standalone(value: boolean): void; set_xml_version(value: string): void; webkit_cancel_fullscreen(): void; webkit_exit_fullscreen(): void; // Inherited methods add_event_listener(event_name: string, handler: GObject.Callback, use_capture: boolean): boolean; // Conflicted with WebKit2WebExtension.DOMEventTarget.add_event_listener add_event_listener(...args: never[]): any; dispatch_event(event: DOMEvent): boolean; remove_event_listener(event_name: string, handler: any | null, use_capture: boolean): boolean; // Conflicted with WebKit2WebExtension.DOMEventTarget.remove_event_listener remove_event_listener(...args: never[]): any; vfunc_add_event_listener(event_name: string, handler: GObject.Closure, use_capture: boolean): boolean; vfunc_dispatch_event(event: DOMEvent): boolean; vfunc_remove_event_listener(event_name: string, handler: any | null, use_capture: boolean): boolean; /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMDocumentFragment { // Signal signatures interface SignalSignatures extends DOMNode.SignalSignatures { 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMNode.ConstructorProps, DOMEventTarget.ConstructorProps { child_element_count: number; childElementCount: number; children: DOMHTMLCollection; first_element_child: DOMElement; firstElementChild: DOMElement; last_element_child: DOMElement; lastElementChild: DOMElement; } } class DOMDocumentFragment extends DOMNode implements DOMEventTarget { static $gtype: GObject.GType; // Properties get child_element_count(): number; get childElementCount(): number; get children(): DOMHTMLCollection; get first_element_child(): DOMElement; get firstElementChild(): DOMElement; get last_element_child(): DOMElement; get lastElementChild(): DOMElement; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMDocumentFragment.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_child_element_count(): number; get_children(): DOMHTMLCollection; get_element_by_id(elementId: string): DOMElement; get_first_element_child(): DOMElement; get_last_element_child(): DOMElement; query_selector(selectors: string): DOMElement; query_selector_all(selectors: string): DOMNodeList; // Inherited methods add_event_listener(event_name: string, handler: GObject.Callback, use_capture: boolean): boolean; // Conflicted with WebKit2WebExtension.DOMEventTarget.add_event_listener add_event_listener(...args: never[]): any; dispatch_event(event: DOMEvent): boolean; remove_event_listener(event_name: string, handler: any | null, use_capture: boolean): boolean; // Conflicted with WebKit2WebExtension.DOMEventTarget.remove_event_listener remove_event_listener(...args: never[]): any; vfunc_add_event_listener(event_name: string, handler: GObject.Closure, use_capture: boolean): boolean; vfunc_dispatch_event(event: DOMEvent): boolean; vfunc_remove_event_listener(event_name: string, handler: any | null, use_capture: boolean): boolean; /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMDocumentType { // Signal signatures interface SignalSignatures extends DOMNode.SignalSignatures { 'notify::entities': (pspec: GObject.ParamSpec) => void; 'notify::internal-subset': (pspec: GObject.ParamSpec) => void; 'notify::name': (pspec: GObject.ParamSpec) => void; 'notify::notations': (pspec: GObject.ParamSpec) => void; 'notify::public-id': (pspec: GObject.ParamSpec) => void; 'notify::system-id': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMNode.ConstructorProps, DOMEventTarget.ConstructorProps { entities: DOMNamedNodeMap; internal_subset: string; internalSubset: string; name: string; notations: DOMNamedNodeMap; public_id: string; publicId: string; system_id: string; systemId: string; } } class DOMDocumentType extends DOMNode implements DOMEventTarget { static $gtype: GObject.GType; // Properties get entities(): DOMNamedNodeMap; get internal_subset(): string; get internalSubset(): string; get name(): string; get notations(): DOMNamedNodeMap; get public_id(): string; get publicId(): string; get system_id(): string; get systemId(): string; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMDocumentType.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_entities(): DOMNamedNodeMap; get_internal_subset(): string; get_name(): string; get_notations(): DOMNamedNodeMap; get_public_id(): string; get_system_id(): string; // Inherited methods add_event_listener(event_name: string, handler: GObject.Callback, use_capture: boolean): boolean; // Conflicted with WebKit2WebExtension.DOMEventTarget.add_event_listener add_event_listener(...args: never[]): any; dispatch_event(event: DOMEvent): boolean; remove_event_listener(event_name: string, handler: any | null, use_capture: boolean): boolean; // Conflicted with WebKit2WebExtension.DOMEventTarget.remove_event_listener remove_event_listener(...args: never[]): any; vfunc_add_event_listener(event_name: string, handler: GObject.Closure, use_capture: boolean): boolean; vfunc_dispatch_event(event: DOMEvent): boolean; vfunc_remove_event_listener(event_name: string, handler: any | null, use_capture: boolean): boolean; /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMElement { // Signal signatures interface SignalSignatures extends DOMNode.SignalSignatures { 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMNode.ConstructorProps, DOMEventTarget.ConstructorProps { attributes: DOMNamedNodeMap; child_element_count: number; childElementCount: number; children: DOMHTMLCollection; class_list: DOMDOMTokenList; classList: DOMDOMTokenList; class_name: string; className: string; client_height: number; clientHeight: number; client_left: number; clientLeft: number; client_top: number; clientTop: number; client_width: number; clientWidth: number; first_element_child: DOMElement; firstElementChild: DOMElement; id: string; inner_html: string; innerHtml: string; last_element_child: DOMElement; lastElementChild: DOMElement; local_name: string; localName: string; namespace_uri: string; namespaceUri: string; next_element_sibling: DOMElement; nextElementSibling: DOMElement; offset_height: number; offsetHeight: number; offset_left: number; offsetLeft: number; offset_parent: DOMElement; offsetParent: DOMElement; offset_top: number; offsetTop: number; offset_width: number; offsetWidth: number; outer_html: string; outerHtml: string; prefix: string; previous_element_sibling: DOMElement; previousElementSibling: DOMElement; scroll_height: number; scrollHeight: number; scroll_left: number; scrollLeft: number; scroll_top: number; scrollTop: number; scroll_width: number; scrollWidth: number; style: DOMCSSStyleDeclaration; tag_name: string; tagName: string; webkit_region_overset: string; webkitRegionOverset: string; } } class DOMElement extends DOMNode implements DOMEventTarget { static $gtype: GObject.GType; // Properties get attributes(): DOMNamedNodeMap; get child_element_count(): number; get childElementCount(): number; get children(): DOMHTMLCollection; get class_list(): DOMDOMTokenList; get classList(): DOMDOMTokenList; get class_name(): string; set class_name(val: string); get className(): string; set className(val: string); get client_height(): number; get clientHeight(): number; get client_left(): number; get clientLeft(): number; get client_top(): number; get clientTop(): number; get client_width(): number; get clientWidth(): number; get first_element_child(): DOMElement; get firstElementChild(): DOMElement; get id(): string; set id(val: string); get inner_html(): string; set inner_html(val: string); get innerHtml(): string; set innerHtml(val: string); get last_element_child(): DOMElement; get lastElementChild(): DOMElement; get local_name(): string; get localName(): string; get namespace_uri(): string; get namespaceUri(): string; get next_element_sibling(): DOMElement; get nextElementSibling(): DOMElement; get offset_height(): number; get offsetHeight(): number; get offset_left(): number; get offsetLeft(): number; get offset_parent(): DOMElement; get offsetParent(): DOMElement; get offset_top(): number; get offsetTop(): number; get offset_width(): number; get offsetWidth(): number; get outer_html(): string; set outer_html(val: string); get outerHtml(): string; set outerHtml(val: string); get prefix(): string; get previous_element_sibling(): DOMElement; get previousElementSibling(): DOMElement; get scroll_height(): number; get scrollHeight(): number; get scroll_left(): number; set scroll_left(val: number); get scrollLeft(): number; set scrollLeft(val: number); get scroll_top(): number; set scroll_top(val: number); get scrollTop(): number; set scrollTop(val: number); get scroll_width(): number; get scrollWidth(): number; get style(): DOMCSSStyleDeclaration; get tag_name(): string; get tagName(): string; get webkit_region_overset(): string; get webkitRegionOverset(): string; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods blur(): void; closest(selectors: string): DOMElement; focus(): void; get_attribute(name: string): string; get_attribute_node(name: string): DOMAttr; get_attribute_node_ns(namespaceURI: string, localName: string): DOMAttr; get_attribute_ns(namespaceURI: string, localName: string): string; get_attributes(): DOMNamedNodeMap; /** * Returns a #WebKitDOMClientRect representing the size and position of `self` * relative to the viewport. * @returns A #WebKitDOMClientRect */ get_bounding_client_rect(): DOMClientRect; get_child_element_count(): number; get_children(): DOMHTMLCollection; get_class_list(): DOMDOMTokenList; get_class_name(): string; get_client_height(): number; get_client_left(): number; /** * Returns a collection of #WebKitDOMClientRect objects, each of which describe * the size and position of a CSS border box relative to the viewport. * @returns A #WebKitDOMClientRectList */ get_client_rects(): DOMClientRectList; get_client_top(): number; get_client_width(): number; get_elements_by_class_name(class_name: string): DOMNodeList; get_elements_by_class_name_as_html_collection(name: string): DOMHTMLCollection; get_elements_by_tag_name(tag_name: string): DOMNodeList; get_elements_by_tag_name_as_html_collection(name: string): DOMHTMLCollection; get_elements_by_tag_name_ns(namespace_uri: string, tag_name: string): DOMNodeList; get_elements_by_tag_name_ns_as_html_collection(namespaceURI: string, localName: string): DOMHTMLCollection; get_first_element_child(): DOMElement; get_id(): string; get_inner_html(): string; get_last_element_child(): DOMElement; get_local_name(): string; get_namespace_uri(): string; get_next_element_sibling(): DOMElement; get_offset_height(): number; get_offset_left(): number; get_offset_parent(): DOMElement; get_offset_top(): number; get_offset_width(): number; get_outer_html(): string; get_prefix(): string; get_previous_element_sibling(): DOMElement; get_scroll_height(): number; get_scroll_left(): number; get_scroll_top(): number; get_scroll_width(): number; get_style(): DOMCSSStyleDeclaration; get_tag_name(): string; /** * CSS Regions support has been removed. This function does nothing. * @returns %NULL */ get_webkit_region_overset(): string; has_attribute(name: string): boolean; has_attribute_ns(namespaceURI: string, localName: string): boolean; has_attributes(): boolean; /** * Get whether the element is an HTML input element that has been filled automatically. * @returns whether @element has been filled automatically. */ html_input_element_get_auto_filled(): boolean; /** * Get whether `element` is an HTML text input element that has been edited by a user action. * @returns whether @element has been edited by a user action. */ html_input_element_is_user_edited(): boolean; /** * Set whether the element is an HTML input element that has been filled automatically. * If `element` is not an HTML input element this function does nothing. * @param auto_filled value to set */ html_input_element_set_auto_filled(auto_filled: boolean): void; /** * Set the value of an HTML input element as if it had been edited by * the user, triggering a change event. If `element` is not an HTML input * element this function does nothing. * @param value the text to set */ html_input_element_set_editing_value(value: string): void; insert_adjacent_element(where: string, element: DOMElement): DOMElement; insert_adjacent_html(where: string, html: string): void; insert_adjacent_text(where: string, text: string): void; matches(selectors: string): boolean; query_selector(selectors: string): DOMElement; query_selector_all(selectors: string): DOMNodeList; remove(): void; remove_attribute(name: string): void; remove_attribute_node(oldAttr: DOMAttr): DOMAttr; remove_attribute_ns(namespaceURI: string, localName: string): void; request_pointer_lock(): void; scroll_by_lines(lines: number): void; scroll_by_pages(pages: number): void; scroll_into_view(alignWithTop: boolean): void; scroll_into_view_if_needed(centerIfNeeded: boolean): void; set_attribute(name: string, value: string): void; set_attribute_node(newAttr: DOMAttr): DOMAttr; set_attribute_node_ns(newAttr: DOMAttr): DOMAttr; set_attribute_ns(namespaceURI: string | null, qualifiedName: string, value: string): void; set_class_name(value: string): void; set_id(value: string): void; set_inner_html(value: string): void; set_outer_html(value: string): void; set_scroll_left(value: number): void; set_scroll_top(value: number): void; webkit_matches_selector(selectors: string): boolean; webkit_request_fullscreen(): void; // Inherited methods add_event_listener(event_name: string, handler: GObject.Callback, use_capture: boolean): boolean; // Conflicted with WebKit2WebExtension.DOMEventTarget.add_event_listener add_event_listener(...args: never[]): any; dispatch_event(event: DOMEvent): boolean; remove_event_listener(event_name: string, handler: any | null, use_capture: boolean): boolean; // Conflicted with WebKit2WebExtension.DOMEventTarget.remove_event_listener remove_event_listener(...args: never[]): any; vfunc_add_event_listener(event_name: string, handler: GObject.Closure, use_capture: boolean): boolean; vfunc_dispatch_event(event: DOMEvent): boolean; vfunc_remove_event_listener(event_name: string, handler: any | null, use_capture: boolean): boolean; /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMEntityReference { // Signal signatures interface SignalSignatures extends DOMNode.SignalSignatures { 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMNode.ConstructorProps, DOMEventTarget.ConstructorProps {} } class DOMEntityReference extends DOMNode implements DOMEventTarget { static $gtype: GObject.GType; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMEntityReference.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Inherited methods add_event_listener(event_name: string, handler: GObject.Callback, use_capture: boolean): boolean; // Conflicted with WebKit2WebExtension.DOMEventTarget.add_event_listener add_event_listener(...args: never[]): any; dispatch_event(event: DOMEvent): boolean; remove_event_listener(event_name: string, handler: any | null, use_capture: boolean): boolean; // Conflicted with WebKit2WebExtension.DOMEventTarget.remove_event_listener remove_event_listener(...args: never[]): any; vfunc_add_event_listener(event_name: string, handler: GObject.Closure, use_capture: boolean): boolean; vfunc_dispatch_event(event: DOMEvent): boolean; vfunc_remove_event_listener(event_name: string, handler: any | null, use_capture: boolean): boolean; /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMEvent { // Signal signatures interface SignalSignatures extends DOMObject.SignalSignatures { 'notify::bubbles': (pspec: GObject.ParamSpec) => void; 'notify::cancel-bubble': (pspec: GObject.ParamSpec) => void; 'notify::cancelable': (pspec: GObject.ParamSpec) => void; 'notify::current-target': (pspec: GObject.ParamSpec) => void; 'notify::event-phase': (pspec: GObject.ParamSpec) => void; 'notify::return-value': (pspec: GObject.ParamSpec) => void; 'notify::src-element': (pspec: GObject.ParamSpec) => void; 'notify::target': (pspec: GObject.ParamSpec) => void; 'notify::time-stamp': (pspec: GObject.ParamSpec) => void; 'notify::type': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMObject.ConstructorProps { bubbles: boolean; cancel_bubble: boolean; cancelBubble: boolean; cancelable: boolean; current_target: DOMEventTarget; currentTarget: DOMEventTarget; event_phase: number; eventPhase: number; return_value: boolean; returnValue: boolean; src_element: DOMEventTarget; srcElement: DOMEventTarget; target: DOMEventTarget; time_stamp: number; timeStamp: number; type: string; } } class DOMEvent extends DOMObject { static $gtype: GObject.GType; // Properties get bubbles(): boolean; get cancel_bubble(): boolean; set cancel_bubble(val: boolean); get cancelBubble(): boolean; set cancelBubble(val: boolean); get cancelable(): boolean; get current_target(): DOMEventTarget; get currentTarget(): DOMEventTarget; get event_phase(): number; get eventPhase(): number; get return_value(): boolean; set return_value(val: boolean); get returnValue(): boolean; set returnValue(val: boolean); get src_element(): DOMEventTarget; get srcElement(): DOMEventTarget; get target(): DOMEventTarget; get time_stamp(): number; get timeStamp(): number; get type(): string; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMEvent.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_bubbles(): boolean; get_cancel_bubble(): boolean; get_cancelable(): boolean; get_current_target(): DOMEventTarget; get_event_phase(): number; get_event_type(): string; get_return_value(): boolean; get_src_element(): DOMEventTarget; get_target(): DOMEventTarget; get_time_stamp(): number; init_event(eventTypeArg: string, canBubbleArg: boolean, cancelableArg: boolean): void; prevent_default(): void; set_cancel_bubble(value: boolean): void; set_return_value(value: boolean): void; stop_propagation(): void; } namespace DOMFile { // Signal signatures interface SignalSignatures extends DOMBlob.SignalSignatures { 'notify::name': (pspec: GObject.ParamSpec) => void; 'notify::size': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMBlob.ConstructorProps { name: string; } } class DOMFile extends DOMBlob { static $gtype: GObject.GType; // Properties get name(): string; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMFile.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_name(): string; } namespace DOMFileList { // Signal signatures interface SignalSignatures extends DOMObject.SignalSignatures { 'notify::length': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMObject.ConstructorProps { length: number; } } class DOMFileList extends DOMObject { static $gtype: GObject.GType; // Properties get length(): number; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMFileList.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_length(): number; item(index: number): DOMFile; } namespace DOMHTMLAnchorElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::charset': (pspec: GObject.ParamSpec) => void; 'notify::coords': (pspec: GObject.ParamSpec) => void; 'notify::hash': (pspec: GObject.ParamSpec) => void; 'notify::host': (pspec: GObject.ParamSpec) => void; 'notify::hostname': (pspec: GObject.ParamSpec) => void; 'notify::href': (pspec: GObject.ParamSpec) => void; 'notify::hreflang': (pspec: GObject.ParamSpec) => void; 'notify::name': (pspec: GObject.ParamSpec) => void; 'notify::pathname': (pspec: GObject.ParamSpec) => void; 'notify::port': (pspec: GObject.ParamSpec) => void; 'notify::protocol': (pspec: GObject.ParamSpec) => void; 'notify::rel': (pspec: GObject.ParamSpec) => void; 'notify::rev': (pspec: GObject.ParamSpec) => void; 'notify::search': (pspec: GObject.ParamSpec) => void; 'notify::shape': (pspec: GObject.ParamSpec) => void; 'notify::target': (pspec: GObject.ParamSpec) => void; 'notify::text': (pspec: GObject.ParamSpec) => void; 'notify::type': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { charset: string; coords: string; hash: string; host: string; hostname: string; href: string; hreflang: string; name: string; pathname: string; port: string; protocol: string; rel: string; rev: string; search: string; shape: string; target: string; text: string; type: string; } } class DOMHTMLAnchorElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get charset(): string; set charset(val: string); get coords(): string; set coords(val: string); get hash(): string; set hash(val: string); get host(): string; set host(val: string); get hostname(): string; set hostname(val: string); get href(): string; set href(val: string); get hreflang(): string; set hreflang(val: string); get name(): string; set name(val: string); get pathname(): string; set pathname(val: string); get port(): string; set port(val: string); get protocol(): string; set protocol(val: string); get rel(): string; set rel(val: string); get rev(): string; set rev(val: string); get search(): string; set search(val: string); get shape(): string; set shape(val: string); get target(): string; set target(val: string); get text(): string; set text(val: string); get type(): string; set type(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLAnchorElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_charset(): string; get_coords(): string; get_hash(): string; get_host(): string; get_hostname(): string; get_href(): string; get_hreflang(): string; get_name(): string; get_pathname(): string; get_port(): string; get_protocol(): string; get_rel(): string; get_rev(): string; get_search(): string; get_shape(): string; get_target(): string; get_text(): string; get_type_attr(): string; set_charset(value: string): void; set_coords(value: string): void; set_hash(value: string): void; set_host(value: string): void; set_hostname(value: string): void; set_href(value: string): void; set_hreflang(value: string): void; set_name(value: string): void; set_pathname(value: string): void; set_port(value: string): void; set_protocol(value: string): void; set_rel(value: string): void; set_rev(value: string): void; set_search(value: string): void; set_shape(value: string): void; set_target(value: string): void; set_text(value: string): void; set_type_attr(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLAppletElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::align': (pspec: GObject.ParamSpec) => void; 'notify::alt': (pspec: GObject.ParamSpec) => void; 'notify::archive': (pspec: GObject.ParamSpec) => void; 'notify::code': (pspec: GObject.ParamSpec) => void; 'notify::code-base': (pspec: GObject.ParamSpec) => void; 'notify::height': (pspec: GObject.ParamSpec) => void; 'notify::hspace': (pspec: GObject.ParamSpec) => void; 'notify::name': (pspec: GObject.ParamSpec) => void; 'notify::object': (pspec: GObject.ParamSpec) => void; 'notify::vspace': (pspec: GObject.ParamSpec) => void; 'notify::width': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { align: string; alt: string; archive: string; code: string; code_base: string; codeBase: string; height: string; hspace: number; name: string; object: string; vspace: number; width: string; } } class DOMHTMLAppletElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get align(): string; set align(val: string); get alt(): string; set alt(val: string); get archive(): string; set archive(val: string); get code(): string; set code(val: string); get code_base(): string; set code_base(val: string); get codeBase(): string; set codeBase(val: string); get height(): string; set height(val: string); get hspace(): number; set hspace(val: number); get name(): string; set name(val: string); get object(): string; set object(val: string); get vspace(): number; set vspace(val: number); get width(): string; set width(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLAppletElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_align(): string; get_alt(): string; get_archive(): string; get_code(): string; get_code_base(): string; get_height(): string; get_hspace(): number; get_name(): string; get_object(): string; get_vspace(): number; get_width(): string; set_align(value: string): void; set_alt(value: string): void; set_archive(value: string): void; set_code(value: string): void; set_code_base(value: string): void; set_height(value: string): void; set_hspace(value: number): void; set_name(value: string): void; set_object(value: string): void; set_vspace(value: number): void; set_width(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLAreaElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::alt': (pspec: GObject.ParamSpec) => void; 'notify::coords': (pspec: GObject.ParamSpec) => void; 'notify::hash': (pspec: GObject.ParamSpec) => void; 'notify::host': (pspec: GObject.ParamSpec) => void; 'notify::hostname': (pspec: GObject.ParamSpec) => void; 'notify::href': (pspec: GObject.ParamSpec) => void; 'notify::no-href': (pspec: GObject.ParamSpec) => void; 'notify::pathname': (pspec: GObject.ParamSpec) => void; 'notify::port': (pspec: GObject.ParamSpec) => void; 'notify::protocol': (pspec: GObject.ParamSpec) => void; 'notify::search': (pspec: GObject.ParamSpec) => void; 'notify::shape': (pspec: GObject.ParamSpec) => void; 'notify::target': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { alt: string; coords: string; hash: string; host: string; hostname: string; href: string; no_href: boolean; noHref: boolean; pathname: string; port: string; protocol: string; search: string; shape: string; target: string; } } class DOMHTMLAreaElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get alt(): string; set alt(val: string); get coords(): string; set coords(val: string); get hash(): string; set hash(val: string); get host(): string; set host(val: string); get hostname(): string; set hostname(val: string); get href(): string; set href(val: string); get no_href(): boolean; set no_href(val: boolean); get noHref(): boolean; set noHref(val: boolean); get pathname(): string; set pathname(val: string); get port(): string; set port(val: string); get protocol(): string; set protocol(val: string); get search(): string; set search(val: string); get shape(): string; set shape(val: string); get target(): string; set target(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLAreaElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_alt(): string; get_coords(): string; get_hash(): string; get_host(): string; get_hostname(): string; get_href(): string; get_no_href(): boolean; get_pathname(): string; get_port(): string; get_protocol(): string; get_search(): string; get_shape(): string; get_target(): string; set_alt(value: string): void; set_coords(value: string): void; set_hash(value: string): void; set_host(value: string): void; set_hostname(value: string): void; set_href(value: string): void; set_no_href(value: boolean): void; set_pathname(value: string): void; set_port(value: string): void; set_protocol(value: string): void; set_search(value: string): void; set_shape(value: string): void; set_target(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLBRElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::clear': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { clear: string; } } class DOMHTMLBRElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get clear(): string; set clear(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLBRElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_clear(): string; set_clear(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLBaseElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::href': (pspec: GObject.ParamSpec) => void; 'notify::target': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { href: string; target: string; } } class DOMHTMLBaseElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get href(): string; set href(val: string); get target(): string; set target(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLBaseElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_href(): string; get_target(): string; set_href(value: string): void; set_target(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLBaseFontElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps {} } class DOMHTMLBaseFontElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLBaseFontElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods /** * This function has been removed from the DOM spec and it just returns %NULL. * @returns A #gchar */ get_color(): string; /** * This function has been removed from the DOM spec and it just returns %NULL. * @returns A #gchar */ get_face(): string; /** * This function has been removed from the DOM spec and it just returns 0. * @returns A #glong */ get_size(): number; /** * This function has been removed from the DOM spec and it does nothing. * @param value A #gchar */ set_color(value: string): void; /** * This function has been removed from the DOM spec and it does nothing. * @param value A #gchar */ set_face(value: string): void; /** * This function has been removed from the DOM spec and it does nothing. * @param value A #glong */ set_size(value: number): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLBodyElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::a-link': (pspec: GObject.ParamSpec) => void; 'notify::background': (pspec: GObject.ParamSpec) => void; 'notify::bg-color': (pspec: GObject.ParamSpec) => void; 'notify::link': (pspec: GObject.ParamSpec) => void; 'notify::text': (pspec: GObject.ParamSpec) => void; 'notify::v-link': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { a_link: string; aLink: string; background: string; bg_color: string; bgColor: string; link: string; text: string; v_link: string; vLink: string; } } class DOMHTMLBodyElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get a_link(): string; set a_link(val: string); get aLink(): string; set aLink(val: string); get background(): string; set background(val: string); get bg_color(): string; set bg_color(val: string); get bgColor(): string; set bgColor(val: string); get link(): string; set link(val: string); get text(): string; set text(val: string); get v_link(): string; set v_link(val: string); get vLink(): string; set vLink(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLBodyElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_a_link(): string; get_background(): string; get_bg_color(): string; get_link(): string; get_text(): string; get_v_link(): string; set_a_link(value: string): void; set_background(value: string): void; set_bg_color(value: string): void; set_link(value: string): void; set_text(value: string): void; set_v_link(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLButtonElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::autofocus': (pspec: GObject.ParamSpec) => void; 'notify::disabled': (pspec: GObject.ParamSpec) => void; 'notify::form': (pspec: GObject.ParamSpec) => void; 'notify::name': (pspec: GObject.ParamSpec) => void; 'notify::type': (pspec: GObject.ParamSpec) => void; 'notify::value': (pspec: GObject.ParamSpec) => void; 'notify::will-validate': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { autofocus: boolean; disabled: boolean; form: DOMHTMLFormElement; name: string; type: string; value: string; will_validate: boolean; willValidate: boolean; } } class DOMHTMLButtonElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get autofocus(): boolean; set autofocus(val: boolean); get disabled(): boolean; set disabled(val: boolean); get form(): DOMHTMLFormElement; get name(): string; set name(val: string); get type(): string; set type(val: string); get value(): string; set value(val: string); get will_validate(): boolean; get willValidate(): boolean; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLButtonElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_autofocus(): boolean; get_button_type(): string; get_disabled(): boolean; get_form(): DOMHTMLFormElement; get_name(): string; get_value(): string; get_will_validate(): boolean; set_autofocus(value: boolean): void; set_button_type(value: string): void; set_disabled(value: boolean): void; set_name(value: string): void; set_value(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLCanvasElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::height': (pspec: GObject.ParamSpec) => void; 'notify::width': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { height: number; width: number; } } class DOMHTMLCanvasElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get height(): number; set height(val: number); get width(): number; set width(val: number); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLCanvasElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_height(): number; get_width(): number; set_height(value: number): void; set_width(value: number): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLCollection { // Signal signatures interface SignalSignatures extends DOMObject.SignalSignatures { 'notify::length': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMObject.ConstructorProps { length: number; } } class DOMHTMLCollection extends DOMObject { static $gtype: GObject.GType; // Properties get length(): number; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLCollection.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_length(): number; item(index: number): DOMNode; named_item(name: string): DOMNode; } namespace DOMHTMLDListElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::compact': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { compact: boolean; } } class DOMHTMLDListElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get compact(): boolean; set compact(val: boolean); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLDListElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_compact(): boolean; set_compact(value: boolean): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLDirectoryElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::compact': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { compact: boolean; } } class DOMHTMLDirectoryElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get compact(): boolean; set compact(val: boolean); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLDirectoryElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_compact(): boolean; set_compact(value: boolean): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLDivElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::align': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { align: string; } } class DOMHTMLDivElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get align(): string; set align(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLDivElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_align(): string; set_align(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLDocument { // Signal signatures interface SignalSignatures extends DOMDocument.SignalSignatures { 'notify::alink-color': (pspec: GObject.ParamSpec) => void; 'notify::bg-color': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::fg-color': (pspec: GObject.ParamSpec) => void; 'notify::height': (pspec: GObject.ParamSpec) => void; 'notify::link-color': (pspec: GObject.ParamSpec) => void; 'notify::vlink-color': (pspec: GObject.ParamSpec) => void; 'notify::width': (pspec: GObject.ParamSpec) => void; 'notify::active-element': (pspec: GObject.ParamSpec) => void; 'notify::anchors': (pspec: GObject.ParamSpec) => void; 'notify::applets': (pspec: GObject.ParamSpec) => void; 'notify::body': (pspec: GObject.ParamSpec) => void; 'notify::character-set': (pspec: GObject.ParamSpec) => void; 'notify::charset': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::compat-mode': (pspec: GObject.ParamSpec) => void; 'notify::content-type': (pspec: GObject.ParamSpec) => void; 'notify::cookie': (pspec: GObject.ParamSpec) => void; 'notify::current-script': (pspec: GObject.ParamSpec) => void; 'notify::default-view': (pspec: GObject.ParamSpec) => void; 'notify::design-mode': (pspec: GObject.ParamSpec) => void; 'notify::doctype': (pspec: GObject.ParamSpec) => void; 'notify::document-element': (pspec: GObject.ParamSpec) => void; 'notify::document-uri': (pspec: GObject.ParamSpec) => void; 'notify::domain': (pspec: GObject.ParamSpec) => void; 'notify::embeds': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::forms': (pspec: GObject.ParamSpec) => void; 'notify::head': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::images': (pspec: GObject.ParamSpec) => void; 'notify::implementation': (pspec: GObject.ParamSpec) => void; 'notify::input-encoding': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::last-modified': (pspec: GObject.ParamSpec) => void; 'notify::links': (pspec: GObject.ParamSpec) => void; 'notify::origin': (pspec: GObject.ParamSpec) => void; 'notify::plugins': (pspec: GObject.ParamSpec) => void; 'notify::pointer-lock-element': (pspec: GObject.ParamSpec) => void; 'notify::preferred-stylesheet-set': (pspec: GObject.ParamSpec) => void; 'notify::ready-state': (pspec: GObject.ParamSpec) => void; 'notify::referrer': (pspec: GObject.ParamSpec) => void; 'notify::scripts': (pspec: GObject.ParamSpec) => void; 'notify::scrolling-element': (pspec: GObject.ParamSpec) => void; 'notify::selected-stylesheet-set': (pspec: GObject.ParamSpec) => void; 'notify::style-sheets': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::url': (pspec: GObject.ParamSpec) => void; 'notify::visibility-state': (pspec: GObject.ParamSpec) => void; 'notify::webkit-current-full-screen-element': (pspec: GObject.ParamSpec) => void; 'notify::webkit-full-screen-keyboard-input-allowed': (pspec: GObject.ParamSpec) => void; 'notify::webkit-fullscreen-element': (pspec: GObject.ParamSpec) => void; 'notify::webkit-fullscreen-enabled': (pspec: GObject.ParamSpec) => void; 'notify::webkit-is-full-screen': (pspec: GObject.ParamSpec) => void; 'notify::xml-encoding': (pspec: GObject.ParamSpec) => void; 'notify::xml-standalone': (pspec: GObject.ParamSpec) => void; 'notify::xml-version': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMDocument.ConstructorProps, DOMEventTarget.ConstructorProps { alink_color: string; alinkColor: string; bg_color: string; bgColor: string; dir: string; fg_color: string; fgColor: string; height: number; link_color: string; linkColor: string; vlink_color: string; vlinkColor: string; width: number; } } class DOMHTMLDocument extends DOMDocument implements DOMEventTarget { static $gtype: GObject.GType; // Properties get alink_color(): string; set alink_color(val: string); get alinkColor(): string; set alinkColor(val: string); get bg_color(): string; set bg_color(val: string); get bgColor(): string; set bgColor(val: string); get dir(): string; set dir(val: string); get fg_color(): string; set fg_color(val: string); get fgColor(): string; set fgColor(val: string); get height(): number; get link_color(): string; set link_color(val: string); get linkColor(): string; set linkColor(val: string); get vlink_color(): string; set vlink_color(val: string); get vlinkColor(): string; set vlinkColor(val: string); get width(): number; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLDocument.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods capture_events(): void; clear(): void; close(): void; get_alink_color(): string; get_bg_color(): string; get_compat_mode(): string; get_design_mode(): string; get_dir(): string; get_embeds(): DOMHTMLCollection; get_fg_color(): string; get_height(): number; get_link_color(): string; get_plugins(): DOMHTMLCollection; get_scripts(): DOMHTMLCollection; get_vlink_color(): string; get_width(): number; release_events(): void; set_alink_color(value: string): void; set_bg_color(value: string): void; set_design_mode(value: string): void; set_dir(value: string): void; set_fg_color(value: string): void; set_link_color(value: string): void; set_vlink_color(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLElement { // Signal signatures interface SignalSignatures extends DOMElement.SignalSignatures { 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMElement.ConstructorProps, DOMEventTarget.ConstructorProps { access_key: string; accessKey: string; content_editable: string; contentEditable: string; dir: string; draggable: boolean; hidden: boolean; inner_text: string; innerText: string; is_content_editable: boolean; isContentEditable: boolean; lang: string; outer_text: string; outerText: string; spellcheck: boolean; tab_index: number; tabIndex: number; title: string; translate: boolean; webkitdropzone: string; } } class DOMHTMLElement extends DOMElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get access_key(): string; set access_key(val: string); get accessKey(): string; set accessKey(val: string); get content_editable(): string; set content_editable(val: string); get contentEditable(): string; set contentEditable(val: string); get dir(): string; set dir(val: string); get draggable(): boolean; set draggable(val: boolean); get hidden(): boolean; set hidden(val: boolean); get inner_text(): string; set inner_text(val: string); get innerText(): string; set innerText(val: string); get is_content_editable(): boolean; get isContentEditable(): boolean; get lang(): string; set lang(val: string); get outer_text(): string; set outer_text(val: string); get outerText(): string; set outerText(val: string); get spellcheck(): boolean; set spellcheck(val: boolean); get tab_index(): number; set tab_index(val: number); get tabIndex(): number; set tabIndex(val: number); get title(): string; set title(val: string); get translate(): boolean; set translate(val: boolean); get webkitdropzone(): string; set webkitdropzone(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods click(): void; get_access_key(): string; get_children(): DOMHTMLCollection; get_content_editable(): string; get_dir(): string; get_draggable(): boolean; get_hidden(): boolean; get_inner_html(): string; get_inner_text(): string; get_is_content_editable(): boolean; get_lang(): string; get_outer_html(): string; get_outer_text(): string; get_spellcheck(): boolean; get_tab_index(): number; get_title(): string; get_translate(): boolean; get_webkitdropzone(): string; set_access_key(value: string): void; set_content_editable(value: string): void; set_dir(value: string): void; set_draggable(value: boolean): void; set_hidden(value: boolean): void; set_inner_html(contents: string): void; set_inner_text(value: string): void; set_lang(value: string): void; set_outer_html(contents: string): void; set_outer_text(value: string): void; set_spellcheck(value: boolean): void; set_tab_index(value: number): void; set_title(value: string): void; set_translate(value: boolean): void; set_webkitdropzone(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLEmbedElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::align': (pspec: GObject.ParamSpec) => void; 'notify::height': (pspec: GObject.ParamSpec) => void; 'notify::name': (pspec: GObject.ParamSpec) => void; 'notify::src': (pspec: GObject.ParamSpec) => void; 'notify::type': (pspec: GObject.ParamSpec) => void; 'notify::width': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { align: string; height: number; name: string; src: string; type: string; width: number; } } class DOMHTMLEmbedElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get align(): string; set align(val: string); get height(): number; set height(val: number); get name(): string; set name(val: string); get src(): string; set src(val: string); get type(): string; set type(val: string); get width(): number; set width(val: number); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLEmbedElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_align(): string; get_height(): number; get_name(): string; get_src(): string; get_type_attr(): string; get_width(): number; set_align(value: string): void; set_height(value: number): void; set_name(value: string): void; set_src(value: string): void; set_type_attr(value: string): void; set_width(value: number): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLFieldSetElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::form': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { form: DOMHTMLFormElement; } } class DOMHTMLFieldSetElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get form(): DOMHTMLFormElement; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLFieldSetElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_form(): DOMHTMLFormElement; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLFontElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::color': (pspec: GObject.ParamSpec) => void; 'notify::face': (pspec: GObject.ParamSpec) => void; 'notify::size': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { color: string; face: string; size: string; } } class DOMHTMLFontElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get color(): string; set color(val: string); get face(): string; set face(val: string); get size(): string; set size(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLFontElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_color(): string; get_face(): string; get_size(): string; set_color(value: string): void; set_face(value: string): void; set_size(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLFormElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::accept-charset': (pspec: GObject.ParamSpec) => void; 'notify::action': (pspec: GObject.ParamSpec) => void; 'notify::elements': (pspec: GObject.ParamSpec) => void; 'notify::encoding': (pspec: GObject.ParamSpec) => void; 'notify::enctype': (pspec: GObject.ParamSpec) => void; 'notify::length': (pspec: GObject.ParamSpec) => void; 'notify::method': (pspec: GObject.ParamSpec) => void; 'notify::name': (pspec: GObject.ParamSpec) => void; 'notify::target': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { accept_charset: string; acceptCharset: string; action: string; elements: DOMHTMLCollection; encoding: string; enctype: string; length: number; method: string; name: string; target: string; } } class DOMHTMLFormElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get accept_charset(): string; set accept_charset(val: string); get acceptCharset(): string; set acceptCharset(val: string); get action(): string; set action(val: string); get elements(): DOMHTMLCollection; get encoding(): string; set encoding(val: string); get enctype(): string; set enctype(val: string); get length(): number; get method(): string; set method(val: string); get name(): string; set name(val: string); get target(): string; set target(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLFormElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_accept_charset(): string; get_action(): string; get_elements(): DOMHTMLCollection; get_encoding(): string; get_enctype(): string; get_length(): number; get_method(): string; get_name(): string; get_target(): string; reset(): void; set_accept_charset(value: string): void; set_action(value: string): void; set_encoding(value: string): void; set_enctype(value: string): void; set_method(value: string): void; set_name(value: string): void; set_target(value: string): void; submit(): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLFrameElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::content-document': (pspec: GObject.ParamSpec) => void; 'notify::content-window': (pspec: GObject.ParamSpec) => void; 'notify::frame-border': (pspec: GObject.ParamSpec) => void; 'notify::height': (pspec: GObject.ParamSpec) => void; 'notify::long-desc': (pspec: GObject.ParamSpec) => void; 'notify::margin-height': (pspec: GObject.ParamSpec) => void; 'notify::margin-width': (pspec: GObject.ParamSpec) => void; 'notify::name': (pspec: GObject.ParamSpec) => void; 'notify::no-resize': (pspec: GObject.ParamSpec) => void; 'notify::scrolling': (pspec: GObject.ParamSpec) => void; 'notify::src': (pspec: GObject.ParamSpec) => void; 'notify::width': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { content_document: DOMDocument; contentDocument: DOMDocument; content_window: DOMDOMWindow; contentWindow: DOMDOMWindow; frame_border: string; frameBorder: string; height: number; long_desc: string; longDesc: string; margin_height: string; marginHeight: string; margin_width: string; marginWidth: string; name: string; no_resize: boolean; noResize: boolean; scrolling: string; src: string; width: number; } } class DOMHTMLFrameElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get content_document(): DOMDocument; get contentDocument(): DOMDocument; get content_window(): DOMDOMWindow; get contentWindow(): DOMDOMWindow; get frame_border(): string; set frame_border(val: string); get frameBorder(): string; set frameBorder(val: string); get height(): number; get long_desc(): string; set long_desc(val: string); get longDesc(): string; set longDesc(val: string); get margin_height(): string; set margin_height(val: string); get marginHeight(): string; set marginHeight(val: string); get margin_width(): string; set margin_width(val: string); get marginWidth(): string; set marginWidth(val: string); get name(): string; set name(val: string); get no_resize(): boolean; set no_resize(val: boolean); get noResize(): boolean; set noResize(val: boolean); get scrolling(): string; set scrolling(val: string); get src(): string; set src(val: string); get width(): number; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLFrameElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_content_document(): DOMDocument; get_content_window(): DOMDOMWindow; get_frame_border(): string; get_height(): number; get_long_desc(): string; get_margin_height(): string; get_margin_width(): string; get_name(): string; get_no_resize(): boolean; get_scrolling(): string; get_src(): string; get_width(): number; set_frame_border(value: string): void; set_long_desc(value: string): void; set_margin_height(value: string): void; set_margin_width(value: string): void; set_name(value: string): void; set_no_resize(value: boolean): void; set_scrolling(value: string): void; set_src(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLFrameSetElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::cols': (pspec: GObject.ParamSpec) => void; 'notify::rows': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { cols: string; rows: string; } } class DOMHTMLFrameSetElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get cols(): string; set cols(val: string); get rows(): string; set rows(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLFrameSetElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_cols(): string; get_rows(): string; set_cols(value: string): void; set_rows(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLHRElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::align': (pspec: GObject.ParamSpec) => void; 'notify::no-shade': (pspec: GObject.ParamSpec) => void; 'notify::size': (pspec: GObject.ParamSpec) => void; 'notify::width': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { align: string; no_shade: boolean; noShade: boolean; size: string; width: string; } } class DOMHTMLHRElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get align(): string; set align(val: string); get no_shade(): boolean; set no_shade(val: boolean); get noShade(): boolean; set noShade(val: boolean); get size(): string; set size(val: string); get width(): string; set width(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLHRElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_align(): string; get_no_shade(): boolean; get_size(): string; get_width(): string; set_align(value: string): void; set_no_shade(value: boolean): void; set_size(value: string): void; set_width(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLHeadElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::profile': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { profile: string; } } class DOMHTMLHeadElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get profile(): string; set profile(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLHeadElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_profile(): string; set_profile(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLHeadingElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::align': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { align: string; } } class DOMHTMLHeadingElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get align(): string; set align(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLHeadingElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_align(): string; set_align(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLHtmlElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::version': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { version: string; } } class DOMHTMLHtmlElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get version(): string; set version(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLHtmlElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_version(): string; set_version(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLIFrameElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::align': (pspec: GObject.ParamSpec) => void; 'notify::content-document': (pspec: GObject.ParamSpec) => void; 'notify::content-window': (pspec: GObject.ParamSpec) => void; 'notify::frame-border': (pspec: GObject.ParamSpec) => void; 'notify::height': (pspec: GObject.ParamSpec) => void; 'notify::long-desc': (pspec: GObject.ParamSpec) => void; 'notify::margin-height': (pspec: GObject.ParamSpec) => void; 'notify::margin-width': (pspec: GObject.ParamSpec) => void; 'notify::name': (pspec: GObject.ParamSpec) => void; 'notify::scrolling': (pspec: GObject.ParamSpec) => void; 'notify::src': (pspec: GObject.ParamSpec) => void; 'notify::width': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { align: string; content_document: DOMDocument; contentDocument: DOMDocument; content_window: DOMDOMWindow; contentWindow: DOMDOMWindow; frame_border: string; frameBorder: string; height: string; long_desc: string; longDesc: string; margin_height: string; marginHeight: string; margin_width: string; marginWidth: string; name: string; scrolling: string; src: string; width: string; } } class DOMHTMLIFrameElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get align(): string; set align(val: string); get content_document(): DOMDocument; get contentDocument(): DOMDocument; get content_window(): DOMDOMWindow; get contentWindow(): DOMDOMWindow; get frame_border(): string; set frame_border(val: string); get frameBorder(): string; set frameBorder(val: string); get height(): string; set height(val: string); get long_desc(): string; set long_desc(val: string); get longDesc(): string; set longDesc(val: string); get margin_height(): string; set margin_height(val: string); get marginHeight(): string; set marginHeight(val: string); get margin_width(): string; set margin_width(val: string); get marginWidth(): string; set marginWidth(val: string); get name(): string; set name(val: string); get scrolling(): string; set scrolling(val: string); get src(): string; set src(val: string); get width(): string; set width(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLIFrameElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_align(): string; get_content_document(): DOMDocument; get_content_window(): DOMDOMWindow; get_frame_border(): string; get_height(): string; get_long_desc(): string; get_margin_height(): string; get_margin_width(): string; get_name(): string; get_scrolling(): string; get_src(): string; get_width(): string; set_align(value: string): void; set_frame_border(value: string): void; set_height(value: string): void; set_long_desc(value: string): void; set_margin_height(value: string): void; set_margin_width(value: string): void; set_name(value: string): void; set_scrolling(value: string): void; set_src(value: string): void; set_width(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLImageElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::align': (pspec: GObject.ParamSpec) => void; 'notify::alt': (pspec: GObject.ParamSpec) => void; 'notify::border': (pspec: GObject.ParamSpec) => void; 'notify::complete': (pspec: GObject.ParamSpec) => void; 'notify::height': (pspec: GObject.ParamSpec) => void; 'notify::hspace': (pspec: GObject.ParamSpec) => void; 'notify::is-map': (pspec: GObject.ParamSpec) => void; 'notify::long-desc': (pspec: GObject.ParamSpec) => void; 'notify::lowsrc': (pspec: GObject.ParamSpec) => void; 'notify::name': (pspec: GObject.ParamSpec) => void; 'notify::natural-height': (pspec: GObject.ParamSpec) => void; 'notify::natural-width': (pspec: GObject.ParamSpec) => void; 'notify::src': (pspec: GObject.ParamSpec) => void; 'notify::use-map': (pspec: GObject.ParamSpec) => void; 'notify::vspace': (pspec: GObject.ParamSpec) => void; 'notify::width': (pspec: GObject.ParamSpec) => void; 'notify::x': (pspec: GObject.ParamSpec) => void; 'notify::y': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { align: string; alt: string; border: string; complete: boolean; height: number; hspace: number; is_map: boolean; isMap: boolean; long_desc: string; longDesc: string; lowsrc: string; name: string; natural_height: number; naturalHeight: number; natural_width: number; naturalWidth: number; src: string; use_map: string; useMap: string; vspace: number; width: number; x: number; y: number; } } class DOMHTMLImageElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get align(): string; set align(val: string); get alt(): string; set alt(val: string); get border(): string; set border(val: string); get complete(): boolean; get height(): number; set height(val: number); get hspace(): number; set hspace(val: number); get is_map(): boolean; set is_map(val: boolean); get isMap(): boolean; set isMap(val: boolean); get long_desc(): string; set long_desc(val: string); get longDesc(): string; set longDesc(val: string); get lowsrc(): string; set lowsrc(val: string); get name(): string; set name(val: string); get natural_height(): number; get naturalHeight(): number; get natural_width(): number; get naturalWidth(): number; get src(): string; set src(val: string); get use_map(): string; set use_map(val: string); get useMap(): string; set useMap(val: string); get vspace(): number; set vspace(val: number); get width(): number; set width(val: number); get x(): number; get y(): number; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLImageElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_align(): string; get_alt(): string; get_border(): string; get_complete(): boolean; get_height(): number; get_hspace(): number; get_is_map(): boolean; get_long_desc(): string; get_lowsrc(): string; get_name(): string; get_natural_height(): number; get_natural_width(): number; get_src(): string; get_use_map(): string; get_vspace(): number; get_width(): number; get_x(): number; get_y(): number; set_align(value: string): void; set_alt(value: string): void; set_border(value: string): void; set_height(value: number): void; set_hspace(value: number): void; set_is_map(value: boolean): void; set_long_desc(value: string): void; set_lowsrc(value: string): void; set_name(value: string): void; set_src(value: string): void; set_use_map(value: string): void; set_vspace(value: number): void; set_width(value: number): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLInputElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::accept': (pspec: GObject.ParamSpec) => void; 'notify::align': (pspec: GObject.ParamSpec) => void; 'notify::alt': (pspec: GObject.ParamSpec) => void; 'notify::autofocus': (pspec: GObject.ParamSpec) => void; 'notify::capture': (pspec: GObject.ParamSpec) => void; 'notify::checked': (pspec: GObject.ParamSpec) => void; 'notify::default-checked': (pspec: GObject.ParamSpec) => void; 'notify::default-value': (pspec: GObject.ParamSpec) => void; 'notify::disabled': (pspec: GObject.ParamSpec) => void; 'notify::files': (pspec: GObject.ParamSpec) => void; 'notify::form': (pspec: GObject.ParamSpec) => void; 'notify::height': (pspec: GObject.ParamSpec) => void; 'notify::indeterminate': (pspec: GObject.ParamSpec) => void; 'notify::max-length': (pspec: GObject.ParamSpec) => void; 'notify::multiple': (pspec: GObject.ParamSpec) => void; 'notify::name': (pspec: GObject.ParamSpec) => void; 'notify::read-only': (pspec: GObject.ParamSpec) => void; 'notify::size': (pspec: GObject.ParamSpec) => void; 'notify::src': (pspec: GObject.ParamSpec) => void; 'notify::type': (pspec: GObject.ParamSpec) => void; 'notify::use-map': (pspec: GObject.ParamSpec) => void; 'notify::value': (pspec: GObject.ParamSpec) => void; 'notify::width': (pspec: GObject.ParamSpec) => void; 'notify::will-validate': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { accept: string; align: string; alt: string; autofocus: boolean; capture: string; checked: boolean; default_checked: boolean; defaultChecked: boolean; default_value: string; defaultValue: string; disabled: boolean; files: DOMFileList; form: DOMHTMLFormElement; height: number; indeterminate: boolean; max_length: number; maxLength: number; multiple: boolean; name: string; read_only: boolean; readOnly: boolean; size: number; src: string; type: string; use_map: string; useMap: string; value: string; width: number; will_validate: boolean; willValidate: boolean; } } class DOMHTMLInputElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get accept(): string; set accept(val: string); get align(): string; set align(val: string); get alt(): string; set alt(val: string); get autofocus(): boolean; set autofocus(val: boolean); get capture(): string; set capture(val: string); get checked(): boolean; set checked(val: boolean); get default_checked(): boolean; set default_checked(val: boolean); get defaultChecked(): boolean; set defaultChecked(val: boolean); get default_value(): string; set default_value(val: string); get defaultValue(): string; set defaultValue(val: string); get disabled(): boolean; set disabled(val: boolean); get files(): DOMFileList; get form(): DOMHTMLFormElement; get height(): number; set height(val: number); get indeterminate(): boolean; set indeterminate(val: boolean); get max_length(): number; set max_length(val: number); get maxLength(): number; set maxLength(val: number); get multiple(): boolean; set multiple(val: boolean); get name(): string; set name(val: string); get read_only(): boolean; set read_only(val: boolean); get readOnly(): boolean; set readOnly(val: boolean); get size(): number; set size(val: number); get src(): string; set src(val: string); get type(): string; set type(val: string); get use_map(): string; set use_map(val: string); get useMap(): string; set useMap(val: string); get value(): string; set value(val: string); get width(): number; set width(val: number); get will_validate(): boolean; get willValidate(): boolean; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLInputElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_accept(): string; get_align(): string; get_alt(): string; get_auto_filled(): boolean; get_autofocus(): boolean; get_capture(): boolean; get_capture_type(): string; get_checked(): boolean; get_default_checked(): boolean; get_default_value(): string; get_disabled(): boolean; get_files(): DOMFileList; get_form(): DOMHTMLFormElement; get_height(): number; get_indeterminate(): boolean; get_input_type(): string; get_max_length(): number; get_multiple(): boolean; get_name(): string; get_read_only(): boolean; get_size(): number; get_src(): string; get_use_map(): string; get_value(): string; get_width(): number; get_will_validate(): boolean; is_edited(): boolean; select(): void; set_accept(value: string): void; set_align(value: string): void; set_alt(value: string): void; set_auto_filled(value: boolean): void; set_autofocus(value: boolean): void; set_capture_type(value: string): void; set_checked(value: boolean): void; set_default_checked(value: boolean): void; set_default_value(value: string): void; set_disabled(value: boolean): void; set_editing_value(value: string): void; set_files(value: DOMFileList): void; set_height(value: number): void; set_indeterminate(value: boolean): void; set_input_type(value: string): void; set_max_length(value: number): void; set_multiple(value: boolean): void; set_name(value: string): void; set_read_only(value: boolean): void; set_size(value: number): void; set_src(value: string): void; set_use_map(value: string): void; set_value(value: string): void; set_width(value: number): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLLIElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::type': (pspec: GObject.ParamSpec) => void; 'notify::value': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { type: string; value: number; } } class DOMHTMLLIElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get type(): string; set type(val: string); get value(): number; set value(val: number); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLLIElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_type_attr(): string; get_value(): number; set_type_attr(value: string): void; set_value(value: number): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLLabelElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::form': (pspec: GObject.ParamSpec) => void; 'notify::html-for': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { form: DOMHTMLFormElement; html_for: string; htmlFor: string; } } class DOMHTMLLabelElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get form(): DOMHTMLFormElement; get html_for(): string; set html_for(val: string); get htmlFor(): string; set htmlFor(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLLabelElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_form(): DOMHTMLFormElement; get_html_for(): string; set_html_for(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLLegendElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::align': (pspec: GObject.ParamSpec) => void; 'notify::form': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { align: string; form: DOMHTMLFormElement; } } class DOMHTMLLegendElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get align(): string; set align(val: string); get form(): DOMHTMLFormElement; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLLegendElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_align(): string; get_form(): DOMHTMLFormElement; set_align(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLLinkElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::charset': (pspec: GObject.ParamSpec) => void; 'notify::disabled': (pspec: GObject.ParamSpec) => void; 'notify::href': (pspec: GObject.ParamSpec) => void; 'notify::hreflang': (pspec: GObject.ParamSpec) => void; 'notify::media': (pspec: GObject.ParamSpec) => void; 'notify::rel': (pspec: GObject.ParamSpec) => void; 'notify::rev': (pspec: GObject.ParamSpec) => void; 'notify::sheet': (pspec: GObject.ParamSpec) => void; 'notify::sizes': (pspec: GObject.ParamSpec) => void; 'notify::target': (pspec: GObject.ParamSpec) => void; 'notify::type': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { charset: string; disabled: boolean; href: string; hreflang: string; media: string; rel: string; rev: string; sheet: DOMStyleSheet; sizes: DOMDOMTokenList; target: string; type: string; } } class DOMHTMLLinkElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get charset(): string; set charset(val: string); get disabled(): boolean; set disabled(val: boolean); get href(): string; set href(val: string); get hreflang(): string; set hreflang(val: string); get media(): string; set media(val: string); get rel(): string; set rel(val: string); get rev(): string; set rev(val: string); get sheet(): DOMStyleSheet; get sizes(): DOMDOMTokenList; get target(): string; set target(val: string); get type(): string; set type(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLLinkElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_charset(): string; get_disabled(): boolean; get_href(): string; get_hreflang(): string; get_media(): string; get_rel(): string; get_rev(): string; get_sheet(): DOMStyleSheet; get_sizes(): DOMDOMTokenList; get_target(): string; get_type_attr(): string; set_charset(value: string): void; set_disabled(value: boolean): void; set_href(value: string): void; set_hreflang(value: string): void; set_media(value: string): void; set_rel(value: string): void; set_rev(value: string): void; set_sizes(value: string): void; set_target(value: string): void; set_type_attr(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLMapElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::areas': (pspec: GObject.ParamSpec) => void; 'notify::name': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { areas: DOMHTMLCollection; name: string; } } class DOMHTMLMapElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get areas(): DOMHTMLCollection; get name(): string; set name(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLMapElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_areas(): DOMHTMLCollection; get_name(): string; set_name(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLMarqueeElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps {} } class DOMHTMLMarqueeElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLMarqueeElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods start(): void; stop(): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLMenuElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::compact': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { compact: boolean; } } class DOMHTMLMenuElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get compact(): boolean; set compact(val: boolean); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLMenuElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_compact(): boolean; set_compact(value: boolean): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLMetaElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::content': (pspec: GObject.ParamSpec) => void; 'notify::http-equiv': (pspec: GObject.ParamSpec) => void; 'notify::name': (pspec: GObject.ParamSpec) => void; 'notify::scheme': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { content: string; http_equiv: string; httpEquiv: string; name: string; scheme: string; } } class DOMHTMLMetaElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get content(): string; set content(val: string); get http_equiv(): string; set http_equiv(val: string); get httpEquiv(): string; set httpEquiv(val: string); get name(): string; set name(val: string); get scheme(): string; set scheme(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLMetaElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_content(): string; get_http_equiv(): string; get_name(): string; get_scheme(): string; set_content(value: string): void; set_http_equiv(value: string): void; set_name(value: string): void; set_scheme(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLModElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::cite': (pspec: GObject.ParamSpec) => void; 'notify::date-time': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { cite: string; date_time: string; dateTime: string; } } class DOMHTMLModElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get cite(): string; set cite(val: string); get date_time(): string; set date_time(val: string); get dateTime(): string; set dateTime(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLModElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_cite(): string; get_date_time(): string; set_cite(value: string): void; set_date_time(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLOListElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::compact': (pspec: GObject.ParamSpec) => void; 'notify::start': (pspec: GObject.ParamSpec) => void; 'notify::type': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { compact: boolean; start: number; type: string; } } class DOMHTMLOListElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get compact(): boolean; set compact(val: boolean); get start(): number; set start(val: number); get type(): string; set type(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLOListElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_compact(): boolean; get_start(): number; get_type_attr(): string; set_compact(value: boolean): void; set_start(value: number): void; set_type_attr(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLObjectElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::align': (pspec: GObject.ParamSpec) => void; 'notify::archive': (pspec: GObject.ParamSpec) => void; 'notify::border': (pspec: GObject.ParamSpec) => void; 'notify::code': (pspec: GObject.ParamSpec) => void; 'notify::code-base': (pspec: GObject.ParamSpec) => void; 'notify::code-type': (pspec: GObject.ParamSpec) => void; 'notify::content-document': (pspec: GObject.ParamSpec) => void; 'notify::data': (pspec: GObject.ParamSpec) => void; 'notify::declare': (pspec: GObject.ParamSpec) => void; 'notify::form': (pspec: GObject.ParamSpec) => void; 'notify::height': (pspec: GObject.ParamSpec) => void; 'notify::hspace': (pspec: GObject.ParamSpec) => void; 'notify::name': (pspec: GObject.ParamSpec) => void; 'notify::standby': (pspec: GObject.ParamSpec) => void; 'notify::type': (pspec: GObject.ParamSpec) => void; 'notify::use-map': (pspec: GObject.ParamSpec) => void; 'notify::vspace': (pspec: GObject.ParamSpec) => void; 'notify::width': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { align: string; archive: string; border: string; code: string; code_base: string; codeBase: string; code_type: string; codeType: string; content_document: DOMDocument; contentDocument: DOMDocument; data: string; declare: boolean; form: DOMHTMLFormElement; height: string; hspace: number; name: string; standby: string; type: string; use_map: string; useMap: string; vspace: number; width: string; } } class DOMHTMLObjectElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get align(): string; set align(val: string); get archive(): string; set archive(val: string); get border(): string; set border(val: string); get code(): string; set code(val: string); get code_base(): string; set code_base(val: string); get codeBase(): string; set codeBase(val: string); get code_type(): string; set code_type(val: string); get codeType(): string; set codeType(val: string); get content_document(): DOMDocument; get contentDocument(): DOMDocument; get data(): string; set data(val: string); get declare(): boolean; set declare(val: boolean); get form(): DOMHTMLFormElement; get height(): string; set height(val: string); get hspace(): number; set hspace(val: number); get name(): string; set name(val: string); get standby(): string; set standby(val: string); get type(): string; set type(val: string); get use_map(): string; set use_map(val: string); get useMap(): string; set useMap(val: string); get vspace(): number; set vspace(val: number); get width(): string; set width(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLObjectElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_align(): string; get_archive(): string; get_border(): string; get_code(): string; get_code_base(): string; get_code_type(): string; get_content_document(): DOMDocument; get_data(): string; // Conflicted with GObject.Object.get_data get_data(...args: never[]): any; get_declare(): boolean; get_form(): DOMHTMLFormElement; get_height(): string; get_hspace(): number; get_name(): string; get_standby(): string; get_type_attr(): string; get_use_map(): string; get_vspace(): number; get_width(): string; set_align(value: string): void; set_archive(value: string): void; set_border(value: string): void; set_code(value: string): void; set_code_base(value: string): void; set_code_type(value: string): void; set_data(value: string): void; set_declare(value: boolean): void; set_height(value: string): void; set_hspace(value: number): void; set_name(value: string): void; set_standby(value: string): void; set_type_attr(value: string): void; set_use_map(value: string): void; set_vspace(value: number): void; set_width(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLOptGroupElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::disabled': (pspec: GObject.ParamSpec) => void; 'notify::label': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { disabled: boolean; label: string; } } class DOMHTMLOptGroupElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get disabled(): boolean; set disabled(val: boolean); get label(): string; set label(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLOptGroupElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_disabled(): boolean; get_label(): string; set_disabled(value: boolean): void; set_label(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLOptionElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::default-selected': (pspec: GObject.ParamSpec) => void; 'notify::disabled': (pspec: GObject.ParamSpec) => void; 'notify::form': (pspec: GObject.ParamSpec) => void; 'notify::index': (pspec: GObject.ParamSpec) => void; 'notify::label': (pspec: GObject.ParamSpec) => void; 'notify::selected': (pspec: GObject.ParamSpec) => void; 'notify::text': (pspec: GObject.ParamSpec) => void; 'notify::value': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { default_selected: boolean; defaultSelected: boolean; disabled: boolean; form: DOMHTMLFormElement; index: number; label: string; selected: boolean; text: string; value: string; } } class DOMHTMLOptionElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get default_selected(): boolean; set default_selected(val: boolean); get defaultSelected(): boolean; set defaultSelected(val: boolean); get disabled(): boolean; set disabled(val: boolean); get form(): DOMHTMLFormElement; get index(): number; get label(): string; set label(val: string); get selected(): boolean; set selected(val: boolean); get text(): string; get value(): string; set value(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLOptionElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_default_selected(): boolean; get_disabled(): boolean; get_form(): DOMHTMLFormElement; get_index(): number; get_label(): string; get_selected(): boolean; get_text(): string; get_value(): string; set_default_selected(value: boolean): void; set_disabled(value: boolean): void; set_label(value: string): void; set_selected(value: boolean): void; set_value(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLOptionsCollection { // Signal signatures interface SignalSignatures extends DOMHTMLCollection.SignalSignatures { 'notify::length': (pspec: GObject.ParamSpec) => void; 'notify::selected-index': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLCollection.ConstructorProps { length: number; selected_index: number; selectedIndex: number; } } class DOMHTMLOptionsCollection extends DOMHTMLCollection { static $gtype: GObject.GType; // Properties get length(): number; get selected_index(): number; set selected_index(val: number); get selectedIndex(): number; set selectedIndex(val: number); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLOptionsCollection.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_length(): number; get_selected_index(): number; named_item(name: string): DOMNode; set_selected_index(value: number): void; } namespace DOMHTMLParagraphElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::align': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { align: string; } } class DOMHTMLParagraphElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get align(): string; set align(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLParagraphElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_align(): string; set_align(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLParamElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::name': (pspec: GObject.ParamSpec) => void; 'notify::type': (pspec: GObject.ParamSpec) => void; 'notify::value': (pspec: GObject.ParamSpec) => void; 'notify::value-type': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { name: string; type: string; value: string; value_type: string; valueType: string; } } class DOMHTMLParamElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get name(): string; set name(val: string); get type(): string; set type(val: string); get value(): string; set value(val: string); get value_type(): string; set value_type(val: string); get valueType(): string; set valueType(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLParamElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_name(): string; get_type_attr(): string; get_value(): string; get_value_type(): string; set_name(value: string): void; set_type_attr(value: string): void; set_value(value: string): void; set_value_type(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLPreElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::width': (pspec: GObject.ParamSpec) => void; 'notify::wrap': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { width: number; wrap: boolean; } } class DOMHTMLPreElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get width(): number; set width(val: number); get wrap(): boolean; set wrap(val: boolean); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLPreElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_width(): number; get_wrap(): boolean; set_width(value: number): void; set_wrap(value: boolean): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLQuoteElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::cite': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { cite: string; } } class DOMHTMLQuoteElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get cite(): string; set cite(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLQuoteElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_cite(): string; set_cite(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLScriptElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::charset': (pspec: GObject.ParamSpec) => void; 'notify::defer': (pspec: GObject.ParamSpec) => void; 'notify::event': (pspec: GObject.ParamSpec) => void; 'notify::html-for': (pspec: GObject.ParamSpec) => void; 'notify::src': (pspec: GObject.ParamSpec) => void; 'notify::text': (pspec: GObject.ParamSpec) => void; 'notify::type': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { charset: string; defer: boolean; event: string; html_for: string; htmlFor: string; src: string; text: string; type: string; } } class DOMHTMLScriptElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get charset(): string; set charset(val: string); get defer(): boolean; set defer(val: boolean); get event(): string; set event(val: string); get html_for(): string; set html_for(val: string); get htmlFor(): string; set htmlFor(val: string); get src(): string; set src(val: string); get text(): string; set text(val: string); get type(): string; set type(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLScriptElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_charset(): string; get_defer(): boolean; get_event(): string; get_html_for(): string; get_src(): string; get_text(): string; get_type_attr(): string; set_charset(value: string): void; set_defer(value: boolean): void; set_event(value: string): void; set_html_for(value: string): void; set_src(value: string): void; set_text(value: string): void; set_type_attr(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLSelectElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::autofocus': (pspec: GObject.ParamSpec) => void; 'notify::disabled': (pspec: GObject.ParamSpec) => void; 'notify::form': (pspec: GObject.ParamSpec) => void; 'notify::length': (pspec: GObject.ParamSpec) => void; 'notify::multiple': (pspec: GObject.ParamSpec) => void; 'notify::name': (pspec: GObject.ParamSpec) => void; 'notify::options': (pspec: GObject.ParamSpec) => void; 'notify::selected-index': (pspec: GObject.ParamSpec) => void; 'notify::size': (pspec: GObject.ParamSpec) => void; 'notify::type': (pspec: GObject.ParamSpec) => void; 'notify::value': (pspec: GObject.ParamSpec) => void; 'notify::will-validate': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { autofocus: boolean; disabled: boolean; form: DOMHTMLFormElement; length: number; multiple: boolean; name: string; options: DOMHTMLOptionsCollection; selected_index: number; selectedIndex: number; size: number; type: string; value: string; will_validate: boolean; willValidate: boolean; } } class DOMHTMLSelectElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get autofocus(): boolean; set autofocus(val: boolean); get disabled(): boolean; set disabled(val: boolean); get form(): DOMHTMLFormElement; get length(): number; set length(val: number); get multiple(): boolean; set multiple(val: boolean); get name(): string; set name(val: string); get options(): DOMHTMLOptionsCollection; get selected_index(): number; set selected_index(val: number); get selectedIndex(): number; set selectedIndex(val: number); get size(): number; set size(val: number); get type(): string; get value(): string; set value(val: string); get will_validate(): boolean; get willValidate(): boolean; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLSelectElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods add(element: DOMHTMLElement, before: DOMHTMLElement): void; get_autofocus(): boolean; get_disabled(): boolean; get_form(): DOMHTMLFormElement; get_length(): number; get_multiple(): boolean; get_name(): string; get_options(): DOMHTMLOptionsCollection; get_select_type(): string; get_selected_index(): number; get_size(): number; get_value(): string; get_will_validate(): boolean; item(index: number): DOMNode; named_item(name: string): DOMNode; remove(index: number): void; // Conflicted with WebKit2WebExtension.DOMElement.remove remove(...args: never[]): any; set_autofocus(value: boolean): void; set_disabled(value: boolean): void; set_length(value: number): void; set_multiple(value: boolean): void; set_name(value: string): void; set_selected_index(value: number): void; set_size(value: number): void; set_value(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLStyleElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::disabled': (pspec: GObject.ParamSpec) => void; 'notify::media': (pspec: GObject.ParamSpec) => void; 'notify::sheet': (pspec: GObject.ParamSpec) => void; 'notify::type': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { disabled: boolean; media: string; sheet: DOMStyleSheet; type: string; } } class DOMHTMLStyleElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get disabled(): boolean; set disabled(val: boolean); get media(): string; set media(val: string); get sheet(): DOMStyleSheet; get type(): string; set type(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLStyleElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_disabled(): boolean; get_media(): string; get_sheet(): DOMStyleSheet; get_type_attr(): string; set_disabled(value: boolean): void; set_media(value: string): void; set_type_attr(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLTableCaptionElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::align': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { align: string; } } class DOMHTMLTableCaptionElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get align(): string; set align(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLTableCaptionElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_align(): string; set_align(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLTableCellElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::abbr': (pspec: GObject.ParamSpec) => void; 'notify::align': (pspec: GObject.ParamSpec) => void; 'notify::axis': (pspec: GObject.ParamSpec) => void; 'notify::bg-color': (pspec: GObject.ParamSpec) => void; 'notify::cell-index': (pspec: GObject.ParamSpec) => void; 'notify::ch': (pspec: GObject.ParamSpec) => void; 'notify::ch-off': (pspec: GObject.ParamSpec) => void; 'notify::col-span': (pspec: GObject.ParamSpec) => void; 'notify::headers': (pspec: GObject.ParamSpec) => void; 'notify::height': (pspec: GObject.ParamSpec) => void; 'notify::no-wrap': (pspec: GObject.ParamSpec) => void; 'notify::row-span': (pspec: GObject.ParamSpec) => void; 'notify::scope': (pspec: GObject.ParamSpec) => void; 'notify::v-align': (pspec: GObject.ParamSpec) => void; 'notify::width': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { abbr: string; align: string; axis: string; bg_color: string; bgColor: string; cell_index: number; cellIndex: number; ch: string; ch_off: string; chOff: string; col_span: number; colSpan: number; headers: string; height: string; no_wrap: boolean; noWrap: boolean; row_span: number; rowSpan: number; scope: string; v_align: string; vAlign: string; width: string; } } class DOMHTMLTableCellElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get abbr(): string; set abbr(val: string); get align(): string; set align(val: string); get axis(): string; set axis(val: string); get bg_color(): string; set bg_color(val: string); get bgColor(): string; set bgColor(val: string); get cell_index(): number; get cellIndex(): number; get ch(): string; set ch(val: string); get ch_off(): string; set ch_off(val: string); get chOff(): string; set chOff(val: string); get col_span(): number; set col_span(val: number); get colSpan(): number; set colSpan(val: number); get headers(): string; set headers(val: string); get height(): string; set height(val: string); get no_wrap(): boolean; set no_wrap(val: boolean); get noWrap(): boolean; set noWrap(val: boolean); get row_span(): number; set row_span(val: number); get rowSpan(): number; set rowSpan(val: number); get scope(): string; set scope(val: string); get v_align(): string; set v_align(val: string); get vAlign(): string; set vAlign(val: string); get width(): string; set width(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLTableCellElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_abbr(): string; get_align(): string; get_axis(): string; get_bg_color(): string; get_cell_index(): number; get_ch(): string; get_ch_off(): string; get_col_span(): number; get_headers(): string; get_height(): string; get_no_wrap(): boolean; get_row_span(): number; get_scope(): string; get_v_align(): string; get_width(): string; set_abbr(value: string): void; set_align(value: string): void; set_axis(value: string): void; set_bg_color(value: string): void; set_ch(value: string): void; set_ch_off(value: string): void; set_col_span(value: number): void; set_headers(value: string): void; set_height(value: string): void; set_no_wrap(value: boolean): void; set_row_span(value: number): void; set_scope(value: string): void; set_v_align(value: string): void; set_width(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLTableColElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::align': (pspec: GObject.ParamSpec) => void; 'notify::ch': (pspec: GObject.ParamSpec) => void; 'notify::ch-off': (pspec: GObject.ParamSpec) => void; 'notify::span': (pspec: GObject.ParamSpec) => void; 'notify::v-align': (pspec: GObject.ParamSpec) => void; 'notify::width': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { align: string; ch: string; ch_off: string; chOff: string; span: number; v_align: string; vAlign: string; width: string; } } class DOMHTMLTableColElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get align(): string; set align(val: string); get ch(): string; set ch(val: string); get ch_off(): string; set ch_off(val: string); get chOff(): string; set chOff(val: string); get span(): number; set span(val: number); get v_align(): string; set v_align(val: string); get vAlign(): string; set vAlign(val: string); get width(): string; set width(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLTableColElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_align(): string; get_ch(): string; get_ch_off(): string; get_span(): number; get_v_align(): string; get_width(): string; set_align(value: string): void; set_ch(value: string): void; set_ch_off(value: string): void; set_span(value: number): void; set_v_align(value: string): void; set_width(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLTableElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::align': (pspec: GObject.ParamSpec) => void; 'notify::bg-color': (pspec: GObject.ParamSpec) => void; 'notify::border': (pspec: GObject.ParamSpec) => void; 'notify::caption': (pspec: GObject.ParamSpec) => void; 'notify::cell-padding': (pspec: GObject.ParamSpec) => void; 'notify::cell-spacing': (pspec: GObject.ParamSpec) => void; 'notify::rows': (pspec: GObject.ParamSpec) => void; 'notify::rules': (pspec: GObject.ParamSpec) => void; 'notify::summary': (pspec: GObject.ParamSpec) => void; 'notify::t-bodies': (pspec: GObject.ParamSpec) => void; 'notify::t-foot': (pspec: GObject.ParamSpec) => void; 'notify::t-head': (pspec: GObject.ParamSpec) => void; 'notify::width': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { align: string; bg_color: string; bgColor: string; border: string; caption: DOMHTMLTableCaptionElement; cell_padding: string; cellPadding: string; cell_spacing: string; cellSpacing: string; rows: DOMHTMLCollection; rules: string; summary: string; t_bodies: DOMHTMLCollection; tBodies: DOMHTMLCollection; t_foot: DOMHTMLTableSectionElement; tFoot: DOMHTMLTableSectionElement; t_head: DOMHTMLTableSectionElement; tHead: DOMHTMLTableSectionElement; width: string; } } class DOMHTMLTableElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get align(): string; set align(val: string); get bg_color(): string; set bg_color(val: string); get bgColor(): string; set bgColor(val: string); get border(): string; set border(val: string); get caption(): DOMHTMLTableCaptionElement; get cell_padding(): string; set cell_padding(val: string); get cellPadding(): string; set cellPadding(val: string); get cell_spacing(): string; set cell_spacing(val: string); get cellSpacing(): string; set cellSpacing(val: string); get rows(): DOMHTMLCollection; get rules(): string; set rules(val: string); get summary(): string; set summary(val: string); get t_bodies(): DOMHTMLCollection; get tBodies(): DOMHTMLCollection; get t_foot(): DOMHTMLTableSectionElement; get tFoot(): DOMHTMLTableSectionElement; get t_head(): DOMHTMLTableSectionElement; get tHead(): DOMHTMLTableSectionElement; get width(): string; set width(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLTableElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods create_caption(): DOMHTMLElement; create_t_foot(): DOMHTMLElement; create_t_head(): DOMHTMLElement; delete_caption(): void; delete_row(index: number): void; delete_t_foot(): void; delete_t_head(): void; get_align(): string; get_bg_color(): string; get_border(): string; get_caption(): DOMHTMLTableCaptionElement; get_cell_padding(): string; get_cell_spacing(): string; get_rows(): DOMHTMLCollection; get_rules(): string; get_summary(): string; get_t_bodies(): DOMHTMLCollection; get_t_foot(): DOMHTMLTableSectionElement; get_t_head(): DOMHTMLTableSectionElement; get_width(): string; insert_row(index: number): DOMHTMLElement; set_align(value: string): void; set_bg_color(value: string): void; set_border(value: string): void; set_caption(value: DOMHTMLTableCaptionElement): void; set_cell_padding(value: string): void; set_cell_spacing(value: string): void; set_rules(value: string): void; set_summary(value: string): void; set_t_foot(value: DOMHTMLTableSectionElement): void; set_t_head(value: DOMHTMLTableSectionElement): void; set_width(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLTableRowElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::align': (pspec: GObject.ParamSpec) => void; 'notify::bg-color': (pspec: GObject.ParamSpec) => void; 'notify::cells': (pspec: GObject.ParamSpec) => void; 'notify::ch': (pspec: GObject.ParamSpec) => void; 'notify::ch-off': (pspec: GObject.ParamSpec) => void; 'notify::row-index': (pspec: GObject.ParamSpec) => void; 'notify::section-row-index': (pspec: GObject.ParamSpec) => void; 'notify::v-align': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { align: string; bg_color: string; bgColor: string; cells: DOMHTMLCollection; ch: string; ch_off: string; chOff: string; row_index: number; rowIndex: number; section_row_index: number; sectionRowIndex: number; v_align: string; vAlign: string; } } class DOMHTMLTableRowElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get align(): string; set align(val: string); get bg_color(): string; set bg_color(val: string); get bgColor(): string; set bgColor(val: string); get cells(): DOMHTMLCollection; get ch(): string; set ch(val: string); get ch_off(): string; set ch_off(val: string); get chOff(): string; set chOff(val: string); get row_index(): number; get rowIndex(): number; get section_row_index(): number; get sectionRowIndex(): number; get v_align(): string; set v_align(val: string); get vAlign(): string; set vAlign(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLTableRowElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods delete_cell(index: number): void; get_align(): string; get_bg_color(): string; get_cells(): DOMHTMLCollection; get_ch(): string; get_ch_off(): string; get_row_index(): number; get_section_row_index(): number; get_v_align(): string; insert_cell(index: number): DOMHTMLElement; set_align(value: string): void; set_bg_color(value: string): void; set_ch(value: string): void; set_ch_off(value: string): void; set_v_align(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLTableSectionElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::align': (pspec: GObject.ParamSpec) => void; 'notify::ch': (pspec: GObject.ParamSpec) => void; 'notify::ch-off': (pspec: GObject.ParamSpec) => void; 'notify::rows': (pspec: GObject.ParamSpec) => void; 'notify::v-align': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { align: string; ch: string; ch_off: string; chOff: string; rows: DOMHTMLCollection; v_align: string; vAlign: string; } } class DOMHTMLTableSectionElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get align(): string; set align(val: string); get ch(): string; set ch(val: string); get ch_off(): string; set ch_off(val: string); get chOff(): string; set chOff(val: string); get rows(): DOMHTMLCollection; get v_align(): string; set v_align(val: string); get vAlign(): string; set vAlign(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLTableSectionElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods delete_row(index: number): void; get_align(): string; get_ch(): string; get_ch_off(): string; get_rows(): DOMHTMLCollection; get_v_align(): string; insert_row(index: number): DOMHTMLElement; set_align(value: string): void; set_ch(value: string): void; set_ch_off(value: string): void; set_v_align(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLTextAreaElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::autofocus': (pspec: GObject.ParamSpec) => void; 'notify::cols': (pspec: GObject.ParamSpec) => void; 'notify::default-value': (pspec: GObject.ParamSpec) => void; 'notify::disabled': (pspec: GObject.ParamSpec) => void; 'notify::form': (pspec: GObject.ParamSpec) => void; 'notify::name': (pspec: GObject.ParamSpec) => void; 'notify::read-only': (pspec: GObject.ParamSpec) => void; 'notify::rows': (pspec: GObject.ParamSpec) => void; 'notify::selection-end': (pspec: GObject.ParamSpec) => void; 'notify::selection-start': (pspec: GObject.ParamSpec) => void; 'notify::type': (pspec: GObject.ParamSpec) => void; 'notify::value': (pspec: GObject.ParamSpec) => void; 'notify::will-validate': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { autofocus: boolean; cols: number; default_value: string; defaultValue: string; disabled: boolean; form: DOMHTMLFormElement; name: string; read_only: boolean; readOnly: boolean; rows: number; selection_end: number; selectionEnd: number; selection_start: number; selectionStart: number; type: string; value: string; will_validate: boolean; willValidate: boolean; } } class DOMHTMLTextAreaElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get autofocus(): boolean; set autofocus(val: boolean); get cols(): number; set cols(val: number); get default_value(): string; set default_value(val: string); get defaultValue(): string; set defaultValue(val: string); get disabled(): boolean; set disabled(val: boolean); get form(): DOMHTMLFormElement; get name(): string; set name(val: string); get read_only(): boolean; set read_only(val: boolean); get readOnly(): boolean; set readOnly(val: boolean); get rows(): number; set rows(val: number); get selection_end(): number; set selection_end(val: number); get selectionEnd(): number; set selectionEnd(val: number); get selection_start(): number; set selection_start(val: number); get selectionStart(): number; set selectionStart(val: number); get type(): string; get value(): string; set value(val: string); get will_validate(): boolean; get willValidate(): boolean; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLTextAreaElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_area_type(): string; get_autofocus(): boolean; get_cols(): number; get_default_value(): string; get_disabled(): boolean; get_form(): DOMHTMLFormElement; get_name(): string; get_read_only(): boolean; get_rows(): number; get_selection_end(): number; get_selection_start(): number; get_value(): string; get_will_validate(): boolean; is_edited(): boolean; select(): void; set_autofocus(value: boolean): void; set_cols(value: number): void; set_default_value(value: string): void; set_disabled(value: boolean): void; set_name(value: string): void; set_read_only(value: boolean): void; set_rows(value: number): void; set_selection_end(value: number): void; set_selection_range(start: number, end: number, direction: string): void; set_selection_start(value: number): void; set_value(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLTitleElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::text': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { text: string; } } class DOMHTMLTitleElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get text(): string; set text(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLTitleElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_text(): string; set_text(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMHTMLUListElement { // Signal signatures interface SignalSignatures extends DOMHTMLElement.SignalSignatures { 'notify::compact': (pspec: GObject.ParamSpec) => void; 'notify::type': (pspec: GObject.ParamSpec) => void; 'notify::access-key': (pspec: GObject.ParamSpec) => void; 'notify::content-editable': (pspec: GObject.ParamSpec) => void; 'notify::dir': (pspec: GObject.ParamSpec) => void; 'notify::draggable': (pspec: GObject.ParamSpec) => void; 'notify::hidden': (pspec: GObject.ParamSpec) => void; 'notify::inner-text': (pspec: GObject.ParamSpec) => void; 'notify::is-content-editable': (pspec: GObject.ParamSpec) => void; 'notify::lang': (pspec: GObject.ParamSpec) => void; 'notify::outer-text': (pspec: GObject.ParamSpec) => void; 'notify::spellcheck': (pspec: GObject.ParamSpec) => void; 'notify::tab-index': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::translate': (pspec: GObject.ParamSpec) => void; 'notify::webkitdropzone': (pspec: GObject.ParamSpec) => void; 'notify::attributes': (pspec: GObject.ParamSpec) => void; 'notify::child-element-count': (pspec: GObject.ParamSpec) => void; 'notify::children': (pspec: GObject.ParamSpec) => void; 'notify::class-list': (pspec: GObject.ParamSpec) => void; 'notify::class-name': (pspec: GObject.ParamSpec) => void; 'notify::client-height': (pspec: GObject.ParamSpec) => void; 'notify::client-left': (pspec: GObject.ParamSpec) => void; 'notify::client-top': (pspec: GObject.ParamSpec) => void; 'notify::client-width': (pspec: GObject.ParamSpec) => void; 'notify::first-element-child': (pspec: GObject.ParamSpec) => void; 'notify::id': (pspec: GObject.ParamSpec) => void; 'notify::inner-html': (pspec: GObject.ParamSpec) => void; 'notify::last-element-child': (pspec: GObject.ParamSpec) => void; 'notify::local-name': (pspec: GObject.ParamSpec) => void; 'notify::namespace-uri': (pspec: GObject.ParamSpec) => void; 'notify::next-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::offset-height': (pspec: GObject.ParamSpec) => void; 'notify::offset-left': (pspec: GObject.ParamSpec) => void; 'notify::offset-parent': (pspec: GObject.ParamSpec) => void; 'notify::offset-top': (pspec: GObject.ParamSpec) => void; 'notify::offset-width': (pspec: GObject.ParamSpec) => void; 'notify::outer-html': (pspec: GObject.ParamSpec) => void; 'notify::prefix': (pspec: GObject.ParamSpec) => void; 'notify::previous-element-sibling': (pspec: GObject.ParamSpec) => void; 'notify::scroll-height': (pspec: GObject.ParamSpec) => void; 'notify::scroll-left': (pspec: GObject.ParamSpec) => void; 'notify::scroll-top': (pspec: GObject.ParamSpec) => void; 'notify::scroll-width': (pspec: GObject.ParamSpec) => void; 'notify::style': (pspec: GObject.ParamSpec) => void; 'notify::tag-name': (pspec: GObject.ParamSpec) => void; 'notify::webkit-region-overset': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMHTMLElement.ConstructorProps, DOMEventTarget.ConstructorProps { compact: boolean; type: string; } } class DOMHTMLUListElement extends DOMHTMLElement implements DOMEventTarget { static $gtype: GObject.GType; // Properties get compact(): boolean; set compact(val: boolean); get type(): string; set type(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMHTMLUListElement.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_compact(): boolean; get_type_attr(): string; set_compact(value: boolean): void; set_type_attr(value: string): void; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMKeyboardEvent { // Signal signatures interface SignalSignatures extends DOMUIEvent.SignalSignatures { 'notify::alt-graph-key': (pspec: GObject.ParamSpec) => void; 'notify::alt-key': (pspec: GObject.ParamSpec) => void; 'notify::ctrl-key': (pspec: GObject.ParamSpec) => void; 'notify::key-identifier': (pspec: GObject.ParamSpec) => void; 'notify::key-location': (pspec: GObject.ParamSpec) => void; 'notify::meta-key': (pspec: GObject.ParamSpec) => void; 'notify::shift-key': (pspec: GObject.ParamSpec) => void; 'notify::char-code': (pspec: GObject.ParamSpec) => void; 'notify::detail': (pspec: GObject.ParamSpec) => void; 'notify::key-code': (pspec: GObject.ParamSpec) => void; 'notify::layer-x': (pspec: GObject.ParamSpec) => void; 'notify::layer-y': (pspec: GObject.ParamSpec) => void; 'notify::page-x': (pspec: GObject.ParamSpec) => void; 'notify::page-y': (pspec: GObject.ParamSpec) => void; 'notify::view': (pspec: GObject.ParamSpec) => void; 'notify::bubbles': (pspec: GObject.ParamSpec) => void; 'notify::cancel-bubble': (pspec: GObject.ParamSpec) => void; 'notify::cancelable': (pspec: GObject.ParamSpec) => void; 'notify::current-target': (pspec: GObject.ParamSpec) => void; 'notify::event-phase': (pspec: GObject.ParamSpec) => void; 'notify::return-value': (pspec: GObject.ParamSpec) => void; 'notify::src-element': (pspec: GObject.ParamSpec) => void; 'notify::target': (pspec: GObject.ParamSpec) => void; 'notify::time-stamp': (pspec: GObject.ParamSpec) => void; 'notify::type': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMUIEvent.ConstructorProps { alt_graph_key: boolean; altGraphKey: boolean; alt_key: boolean; altKey: boolean; ctrl_key: boolean; ctrlKey: boolean; key_identifier: string; keyIdentifier: string; key_location: number; keyLocation: number; meta_key: boolean; metaKey: boolean; shift_key: boolean; shiftKey: boolean; } } class DOMKeyboardEvent extends DOMUIEvent { static $gtype: GObject.GType; // Properties get alt_graph_key(): boolean; get altGraphKey(): boolean; get alt_key(): boolean; get altKey(): boolean; get ctrl_key(): boolean; get ctrlKey(): boolean; get key_identifier(): string; get keyIdentifier(): string; get key_location(): number; get keyLocation(): number; get meta_key(): boolean; get metaKey(): boolean; get shift_key(): boolean; get shiftKey(): boolean; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMKeyboardEvent.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_alt_graph_key(): boolean; get_alt_key(): boolean; get_ctrl_key(): boolean; get_key_identifier(): string; get_key_location(): number; get_meta_key(): boolean; get_modifier_state(keyIdentifierArg: string): boolean; get_shift_key(): boolean; init_keyboard_event( type: string, canBubble: boolean, cancelable: boolean, view: DOMDOMWindow, keyIdentifier: string, location: number, ctrlKey: boolean, altKey: boolean, shiftKey: boolean, metaKey: boolean, altGraphKey: boolean, ): void; } namespace DOMMediaList { // Signal signatures interface SignalSignatures extends DOMObject.SignalSignatures { 'notify::length': (pspec: GObject.ParamSpec) => void; 'notify::media-text': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMObject.ConstructorProps { length: number; media_text: string; mediaText: string; } } class DOMMediaList extends DOMObject { static $gtype: GObject.GType; // Properties get length(): number; get media_text(): string; set media_text(val: string); get mediaText(): string; set mediaText(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMMediaList.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods append_medium(newMedium: string): void; delete_medium(oldMedium: string): void; get_length(): number; get_media_text(): string; item(index: number): string; set_media_text(value: string): void; } namespace DOMMouseEvent { // Signal signatures interface SignalSignatures extends DOMUIEvent.SignalSignatures { 'notify::alt-key': (pspec: GObject.ParamSpec) => void; 'notify::button': (pspec: GObject.ParamSpec) => void; 'notify::client-x': (pspec: GObject.ParamSpec) => void; 'notify::client-y': (pspec: GObject.ParamSpec) => void; 'notify::ctrl-key': (pspec: GObject.ParamSpec) => void; 'notify::from-element': (pspec: GObject.ParamSpec) => void; 'notify::meta-key': (pspec: GObject.ParamSpec) => void; 'notify::offset-x': (pspec: GObject.ParamSpec) => void; 'notify::offset-y': (pspec: GObject.ParamSpec) => void; 'notify::related-target': (pspec: GObject.ParamSpec) => void; 'notify::screen-x': (pspec: GObject.ParamSpec) => void; 'notify::screen-y': (pspec: GObject.ParamSpec) => void; 'notify::shift-key': (pspec: GObject.ParamSpec) => void; 'notify::to-element': (pspec: GObject.ParamSpec) => void; 'notify::x': (pspec: GObject.ParamSpec) => void; 'notify::y': (pspec: GObject.ParamSpec) => void; 'notify::char-code': (pspec: GObject.ParamSpec) => void; 'notify::detail': (pspec: GObject.ParamSpec) => void; 'notify::key-code': (pspec: GObject.ParamSpec) => void; 'notify::layer-x': (pspec: GObject.ParamSpec) => void; 'notify::layer-y': (pspec: GObject.ParamSpec) => void; 'notify::page-x': (pspec: GObject.ParamSpec) => void; 'notify::page-y': (pspec: GObject.ParamSpec) => void; 'notify::view': (pspec: GObject.ParamSpec) => void; 'notify::bubbles': (pspec: GObject.ParamSpec) => void; 'notify::cancel-bubble': (pspec: GObject.ParamSpec) => void; 'notify::cancelable': (pspec: GObject.ParamSpec) => void; 'notify::current-target': (pspec: GObject.ParamSpec) => void; 'notify::event-phase': (pspec: GObject.ParamSpec) => void; 'notify::return-value': (pspec: GObject.ParamSpec) => void; 'notify::src-element': (pspec: GObject.ParamSpec) => void; 'notify::target': (pspec: GObject.ParamSpec) => void; 'notify::time-stamp': (pspec: GObject.ParamSpec) => void; 'notify::type': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMUIEvent.ConstructorProps { alt_key: boolean; altKey: boolean; button: number; client_x: number; clientX: number; client_y: number; clientY: number; ctrl_key: boolean; ctrlKey: boolean; from_element: DOMNode; fromElement: DOMNode; meta_key: boolean; metaKey: boolean; offset_x: number; offsetX: number; offset_y: number; offsetY: number; related_target: DOMEventTarget; relatedTarget: DOMEventTarget; screen_x: number; screenX: number; screen_y: number; screenY: number; shift_key: boolean; shiftKey: boolean; to_element: DOMNode; toElement: DOMNode; x: number; y: number; } } class DOMMouseEvent extends DOMUIEvent { static $gtype: GObject.GType; // Properties get alt_key(): boolean; get altKey(): boolean; get button(): number; get client_x(): number; get clientX(): number; get client_y(): number; get clientY(): number; get ctrl_key(): boolean; get ctrlKey(): boolean; get from_element(): DOMNode; get fromElement(): DOMNode; get meta_key(): boolean; get metaKey(): boolean; get offset_x(): number; get offsetX(): number; get offset_y(): number; get offsetY(): number; get related_target(): DOMEventTarget; get relatedTarget(): DOMEventTarget; get screen_x(): number; get screenX(): number; get screen_y(): number; get screenY(): number; get shift_key(): boolean; get shiftKey(): boolean; get to_element(): DOMNode; get toElement(): DOMNode; get x(): number; get y(): number; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMMouseEvent.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_alt_key(): boolean; get_button(): number; get_client_x(): number; get_client_y(): number; get_ctrl_key(): boolean; get_from_element(): DOMNode; get_meta_key(): boolean; get_offset_x(): number; get_offset_y(): number; get_related_target(): DOMEventTarget; get_screen_x(): number; get_screen_y(): number; get_shift_key(): boolean; get_to_element(): DOMNode; get_x(): number; get_y(): number; init_mouse_event( type: string, canBubble: boolean, cancelable: boolean, view: DOMDOMWindow, detail: number, screenX: number, screenY: number, clientX: number, clientY: number, ctrlKey: boolean, altKey: boolean, shiftKey: boolean, metaKey: boolean, button: number, relatedTarget: DOMEventTarget, ): void; } namespace DOMNamedNodeMap { // Signal signatures interface SignalSignatures extends DOMObject.SignalSignatures { 'notify::length': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMObject.ConstructorProps { length: number; } } class DOMNamedNodeMap extends DOMObject { static $gtype: GObject.GType; // Properties get length(): number; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMNamedNodeMap.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_length(): number; get_named_item(name: string): DOMNode; get_named_item_ns(namespaceURI: string, localName: string): DOMNode; item(index: number): DOMNode; remove_named_item(name: string): DOMNode; remove_named_item_ns(namespaceURI: string, localName: string): DOMNode; set_named_item(node: DOMNode): DOMNode; set_named_item_ns(node: DOMNode): DOMNode; } namespace DOMNode { // Signal signatures interface SignalSignatures extends DOMObject.SignalSignatures { 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMObject.ConstructorProps, DOMEventTarget.ConstructorProps { base_uri: string; baseUri: string; child_nodes: DOMNodeList; childNodes: DOMNodeList; first_child: DOMNode; firstChild: DOMNode; last_child: DOMNode; lastChild: DOMNode; next_sibling: DOMNode; nextSibling: DOMNode; node_name: string; nodeName: string; node_type: number; nodeType: number; node_value: string; nodeValue: string; owner_document: DOMDocument; ownerDocument: DOMDocument; parent_element: DOMElement; parentElement: DOMElement; parent_node: DOMNode; parentNode: DOMNode; previous_sibling: DOMNode; previousSibling: DOMNode; text_content: string; textContent: string; } } class DOMNode extends DOMObject implements DOMEventTarget { static $gtype: GObject.GType; // Properties get base_uri(): string; get baseUri(): string; get child_nodes(): DOMNodeList; get childNodes(): DOMNodeList; get first_child(): DOMNode; get firstChild(): DOMNode; get last_child(): DOMNode; get lastChild(): DOMNode; get next_sibling(): DOMNode; get nextSibling(): DOMNode; get node_name(): string; get nodeName(): string; get node_type(): number; get nodeType(): number; get node_value(): string; set node_value(val: string); get nodeValue(): string; set nodeValue(val: string); get owner_document(): DOMDocument; get ownerDocument(): DOMDocument; get parent_element(): DOMElement; get parentElement(): DOMElement; get parent_node(): DOMNode; get parentNode(): DOMNode; get previous_sibling(): DOMNode; get previousSibling(): DOMNode; get text_content(): string; set text_content(val: string); get textContent(): string; set textContent(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMNode.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Static methods /** * Get the #WebKitDOMNode for the DOM node referenced by `value`. * @param value a #JSCValue */ static for_js_value(value: JavaScriptCore.Value): DOMNode; // Methods append_child(newChild: DOMNode): DOMNode; clone_node(deep: boolean): DOMNode; clone_node_with_error(deep: boolean): DOMNode; compare_document_position(other: DOMNode): number; contains(other: DOMNode): boolean; get_base_uri(): string; get_child_nodes(): DOMNodeList; get_first_child(): DOMNode; get_last_child(): DOMNode; get_local_name(): string; get_namespace_uri(): string; get_next_sibling(): DOMNode; get_node_name(): string; get_node_type(): number; get_node_value(): string; get_owner_document(): DOMDocument; get_parent_element(): DOMElement; get_parent_node(): DOMNode; get_prefix(): string; get_previous_sibling(): DOMNode; get_text_content(): string; has_child_nodes(): boolean; insert_before(newChild: DOMNode, refChild?: DOMNode | null): DOMNode; is_default_namespace(namespaceURI: string): boolean; is_equal_node(other: DOMNode): boolean; is_same_node(other: DOMNode): boolean; is_supported(feature: string, version: string): boolean; lookup_namespace_uri(prefix: string): string; lookup_prefix(namespaceURI: string): string; normalize(): void; remove_child(oldChild: DOMNode): DOMNode; replace_child(newChild: DOMNode, oldChild: DOMNode): DOMNode; set_node_value(value: string): void; set_prefix(value: string): void; set_text_content(value: string): void; // Inherited methods add_event_listener(event_name: string, handler: GObject.Callback, use_capture: boolean): boolean; // Conflicted with WebKit2WebExtension.DOMEventTarget.add_event_listener add_event_listener(...args: never[]): any; dispatch_event(event: DOMEvent): boolean; remove_event_listener(event_name: string, handler: any | null, use_capture: boolean): boolean; // Conflicted with WebKit2WebExtension.DOMEventTarget.remove_event_listener remove_event_listener(...args: never[]): any; vfunc_add_event_listener(event_name: string, handler: GObject.Closure, use_capture: boolean): boolean; vfunc_dispatch_event(event: DOMEvent): boolean; vfunc_remove_event_listener(event_name: string, handler: any | null, use_capture: boolean): boolean; /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMNodeIterator { // Signal signatures interface SignalSignatures extends DOMObject.SignalSignatures { 'notify::filter': (pspec: GObject.ParamSpec) => void; 'notify::pointer-before-reference-node': (pspec: GObject.ParamSpec) => void; 'notify::reference-node': (pspec: GObject.ParamSpec) => void; 'notify::root': (pspec: GObject.ParamSpec) => void; 'notify::what-to-show': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMObject.ConstructorProps { filter: DOMNodeFilter; pointer_before_reference_node: boolean; pointerBeforeReferenceNode: boolean; reference_node: DOMNode; referenceNode: DOMNode; root: DOMNode; what_to_show: number; whatToShow: number; } } class DOMNodeIterator extends DOMObject { static $gtype: GObject.GType; // Properties get filter(): DOMNodeFilter; get pointer_before_reference_node(): boolean; get pointerBeforeReferenceNode(): boolean; get reference_node(): DOMNode; get referenceNode(): DOMNode; get root(): DOMNode; get what_to_show(): number; get whatToShow(): number; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMNodeIterator.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods detach(): void; /** * This function has been removed from the DOM spec and it just returns %FALSE. * @returns A #gboolean * */ get_expand_entity_references(): boolean; get_filter(): DOMNodeFilter; get_pointer_before_reference_node(): boolean; get_reference_node(): DOMNode; get_root(): DOMNode; get_what_to_show(): number; next_node(): DOMNode; previous_node(): DOMNode; } namespace DOMNodeList { // Signal signatures interface SignalSignatures extends DOMObject.SignalSignatures { 'notify::length': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMObject.ConstructorProps { length: number; } } class DOMNodeList extends DOMObject { static $gtype: GObject.GType; // Properties get length(): number; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMNodeList.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_length(): number; item(index: number): DOMNode; } namespace DOMObject { // Signal signatures interface SignalSignatures extends GObject.Object.SignalSignatures { 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps { core_object: any; coreObject: any; } } class DOMObject extends GObject.Object { static $gtype: GObject.GType; // Properties set core_object(val: any); set coreObject(val: any); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMObject.SignalSignatures; // Fields parentInstance: GObject.Object; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; } namespace DOMProcessingInstruction { // Signal signatures interface SignalSignatures extends DOMCharacterData.SignalSignatures { 'notify::sheet': (pspec: GObject.ParamSpec) => void; 'notify::target': (pspec: GObject.ParamSpec) => void; 'notify::data': (pspec: GObject.ParamSpec) => void; 'notify::length': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMCharacterData.ConstructorProps, DOMEventTarget.ConstructorProps { sheet: DOMStyleSheet; target: string; } } class DOMProcessingInstruction extends DOMCharacterData implements DOMEventTarget { static $gtype: GObject.GType; // Properties get sheet(): DOMStyleSheet; get target(): string; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMProcessingInstruction.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_sheet(): DOMStyleSheet; get_target(): string; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; // Conflicted with WebKit2WebExtension.DOMCharacterData.get_data get_data(...args: never[]): any; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; // Conflicted with WebKit2WebExtension.DOMCharacterData.set_data set_data(...args: never[]): any; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMRange { // Signal signatures interface SignalSignatures extends DOMObject.SignalSignatures { 'notify::collapsed': (pspec: GObject.ParamSpec) => void; 'notify::common-ancestor-container': (pspec: GObject.ParamSpec) => void; 'notify::end-container': (pspec: GObject.ParamSpec) => void; 'notify::end-offset': (pspec: GObject.ParamSpec) => void; 'notify::start-container': (pspec: GObject.ParamSpec) => void; 'notify::start-offset': (pspec: GObject.ParamSpec) => void; 'notify::text': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMObject.ConstructorProps { collapsed: boolean; common_ancestor_container: DOMNode; commonAncestorContainer: DOMNode; end_container: DOMNode; endContainer: DOMNode; end_offset: number; endOffset: number; start_container: DOMNode; startContainer: DOMNode; start_offset: number; startOffset: number; text: string; } } class DOMRange extends DOMObject { static $gtype: GObject.GType; // Properties get collapsed(): boolean; get common_ancestor_container(): DOMNode; get commonAncestorContainer(): DOMNode; get end_container(): DOMNode; get endContainer(): DOMNode; get end_offset(): number; get endOffset(): number; get start_container(): DOMNode; get startContainer(): DOMNode; get start_offset(): number; get startOffset(): number; get text(): string; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMRange.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods clone_contents(): DOMDocumentFragment; clone_range(): DOMRange; collapse(toStart: boolean): void; compare_boundary_points(how: number, sourceRange: DOMRange): number; compare_node(refNode: DOMNode): number; compare_point(refNode: DOMNode, offset: number): number; create_contextual_fragment(html: string): DOMDocumentFragment; delete_contents(): void; detach(): void; expand(unit: string): void; extract_contents(): DOMDocumentFragment; get_collapsed(): boolean; get_common_ancestor_container(): DOMNode; get_end_container(): DOMNode; get_end_offset(): number; get_start_container(): DOMNode; get_start_offset(): number; get_text(): string; insert_node(newNode: DOMNode): void; intersects_node(refNode: DOMNode): boolean; is_point_in_range(refNode: DOMNode, offset: number): boolean; select_node(refNode: DOMNode): void; select_node_contents(refNode: DOMNode): void; set_end(refNode: DOMNode, offset: number): void; set_end_after(refNode: DOMNode): void; set_end_before(refNode: DOMNode): void; set_start(refNode: DOMNode, offset: number): void; set_start_after(refNode: DOMNode): void; set_start_before(refNode: DOMNode): void; surround_contents(newParent: DOMNode): void; to_string(): string; } namespace DOMStyleSheet { // Signal signatures interface SignalSignatures extends DOMObject.SignalSignatures { 'notify::disabled': (pspec: GObject.ParamSpec) => void; 'notify::href': (pspec: GObject.ParamSpec) => void; 'notify::media': (pspec: GObject.ParamSpec) => void; 'notify::owner-node': (pspec: GObject.ParamSpec) => void; 'notify::parent-style-sheet': (pspec: GObject.ParamSpec) => void; 'notify::title': (pspec: GObject.ParamSpec) => void; 'notify::type': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMObject.ConstructorProps { disabled: boolean; href: string; media: DOMMediaList; owner_node: DOMNode; ownerNode: DOMNode; parent_style_sheet: DOMStyleSheet; parentStyleSheet: DOMStyleSheet; title: string; type: string; } } class DOMStyleSheet extends DOMObject { static $gtype: GObject.GType; // Properties get disabled(): boolean; set disabled(val: boolean); get href(): string; get media(): DOMMediaList; get owner_node(): DOMNode; get ownerNode(): DOMNode; get parent_style_sheet(): DOMStyleSheet; get parentStyleSheet(): DOMStyleSheet; get title(): string; get type(): string; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMStyleSheet.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_content_type(): string; get_disabled(): boolean; get_href(): string; get_media(): DOMMediaList; get_owner_node(): DOMNode; get_parent_style_sheet(): DOMStyleSheet; get_title(): string; set_disabled(value: boolean): void; } namespace DOMStyleSheetList { // Signal signatures interface SignalSignatures extends DOMObject.SignalSignatures { 'notify::length': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMObject.ConstructorProps { length: number; } } class DOMStyleSheetList extends DOMObject { static $gtype: GObject.GType; // Properties get length(): number; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMStyleSheetList.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_length(): number; item(index: number): DOMStyleSheet; } namespace DOMText { // Signal signatures interface SignalSignatures extends DOMCharacterData.SignalSignatures { 'notify::whole-text': (pspec: GObject.ParamSpec) => void; 'notify::data': (pspec: GObject.ParamSpec) => void; 'notify::length': (pspec: GObject.ParamSpec) => void; 'notify::base-uri': (pspec: GObject.ParamSpec) => void; 'notify::child-nodes': (pspec: GObject.ParamSpec) => void; 'notify::first-child': (pspec: GObject.ParamSpec) => void; 'notify::last-child': (pspec: GObject.ParamSpec) => void; 'notify::next-sibling': (pspec: GObject.ParamSpec) => void; 'notify::node-name': (pspec: GObject.ParamSpec) => void; 'notify::node-type': (pspec: GObject.ParamSpec) => void; 'notify::node-value': (pspec: GObject.ParamSpec) => void; 'notify::owner-document': (pspec: GObject.ParamSpec) => void; 'notify::parent-element': (pspec: GObject.ParamSpec) => void; 'notify::parent-node': (pspec: GObject.ParamSpec) => void; 'notify::previous-sibling': (pspec: GObject.ParamSpec) => void; 'notify::text-content': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMCharacterData.ConstructorProps, DOMEventTarget.ConstructorProps { whole_text: string; wholeText: string; } } class DOMText extends DOMCharacterData implements DOMEventTarget { static $gtype: GObject.GType; // Properties get whole_text(): string; get wholeText(): string; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMText.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_whole_text(): string; replace_whole_text(content: string): DOMText; split_text(offset: number): DOMText; // Inherited methods /** * Creates a binding between `source_property` on `source` and `target_property` * on `target`. * * Whenever the `source_property` is changed the `target_property` is * updated using the same value. For instance: * * * ```c * g_object_bind_property (action, "active", widget, "sensitive", 0); * ``` * * * Will result in the "sensitive" property of the widget #GObject instance to be * updated with the same value of the "active" property of the action #GObject * instance. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. To remove the binding without affecting the * `source` and the `target` you can just call g_object_unref() on the returned * #GBinding instance. * * Removing the binding by calling g_object_unref() on it must only be done if * the binding, `source` and `target` are only used from a single thread and it * is clear that both `source` and `target` outlive the binding. Especially it * is not safe to rely on this if the binding, `source` or `target` can be * finalized from different threads. Keep another reference to the binding and * use g_binding_unbind() instead to be on the safe side. * * A #GObject can have multiple bindings. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, ): GObject.Binding; /** * Complete version of g_object_bind_property(). * * Creates a binding between `source_property` on `source` and `target_property` * on `target,` allowing you to set the transformation functions to be used by * the binding. * * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: * if `target_property` on `target` changes then the `source_property` on `source` * will be updated as well. The `transform_from` function is only used in case * of bidirectional bindings, otherwise it will be ignored * * The binding will automatically be removed when either the `source` or the * `target` instances are finalized. This will release the reference that is * being held on the #GBinding instance; if you want to hold on to the * #GBinding instance, you will need to hold a reference to it. * * To remove the binding, call g_binding_unbind(). * * A #GObject can have multiple bindings. * * The same `user_data` parameter will be used for both `transform_to` * and `transform_from` transformation functions; the `notify` function will * be called once, when the binding is removed. If you need different data * for each transformation function, please use * g_object_bind_property_with_closures() instead. * @param source_property the property on @source to bind * @param target the target #GObject * @param target_property the property on @target to bind * @param flags flags to pass to #GBinding * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero. */ bind_property_full( source_property: string, target: GObject.Object, target_property: string, flags: GObject.BindingFlags | null, transform_to?: GObject.BindingTransformFunc | null, transform_from?: GObject.BindingTransformFunc | null, notify?: GLib.DestroyNotify | null, ): GObject.Binding; // Conflicted with GObject.Object.bind_property_full bind_property_full(...args: never[]): any; /** * This function is intended for #GObject implementations to re-enforce * a [floating][floating-ref] object reference. Doing this is seldom * required: all #GInitiallyUnowneds are created with a floating reference * which usually just needs to be sunken by calling g_object_ref_sink(). */ force_floating(): void; /** * Increases the freeze count on `object`. If the freeze count is * non-zero, the emission of "notify" signals on `object` is * stopped. The signals are queued until the freeze count is decreased * to zero. Duplicate notifications are squashed so that at most one * #GObject::notify signal is emitted for each property modified while the * object is frozen. * * This is necessary for accessors that modify multiple properties to prevent * premature notification while the object is still being modified. */ freeze_notify(): void; /** * Gets a named field from the objects table of associations (see g_object_set_data()). * @param key name of the key for that association * @returns the data if found, or %NULL if no such data exists. */ get_data(key: string): any | null; // Conflicted with WebKit2WebExtension.DOMCharacterData.get_data get_data(...args: never[]): any; /** * Gets a property of an object. * * The value can be: * - an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60) * - a GObject.Value initialized with the expected type of the property * - a GObject.Value initialized with a type to which the expected type of the property can be transformed * * In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset. * * Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming. * @param property_name The name of the property to get * @param value Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type */ get_property(property_name: string, value: GObject.Value | any): any; /** * This function gets back user data pointers stored via * g_object_set_qdata(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ get_qdata(quark: GLib.Quark): any | null; /** * Gets `n_properties` properties for an `object`. * Obtained properties will be set to `values`. All properties must be valid. * Warnings will be emitted and undefined behaviour may result if invalid * properties are passed in. * @param names the names of each property to get * @param values the values of each property to get */ getv(names: string[], values: (GObject.Value | any)[]): void; /** * Checks whether `object` has a [floating][floating-ref] reference. * @returns %TRUE if @object has a floating reference */ is_floating(): boolean; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param property_name the name of a property installed on the class of @object. */ notify(property_name: string): void; /** * Emits a "notify" signal for the property specified by `pspec` on `object`. * * This function omits the property name lookup, hence it is faster than * g_object_notify(). * * One way to avoid using g_object_notify() from within the * class that registered the properties, and using g_object_notify_by_pspec() * instead, is to store the GParamSpec used with * g_object_class_install_property() inside a static array, e.g.: * * * ```c * typedef enum * { * PROP_FOO = 1, * PROP_LAST * } MyObjectProperty; * * static GParamSpec *properties[PROP_LAST]; * * static void * my_object_class_init (MyObjectClass *klass) * { * properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL, * 0, 100, * 50, * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); * g_object_class_install_property (gobject_class, * PROP_FOO, * properties[PROP_FOO]); * } * ``` * * * and then notify a change on the "foo" property with: * * * ```c * g_object_notify_by_pspec (self, properties[PROP_FOO]); * ``` * * @param pspec the #GParamSpec of a property installed on the class of @object. */ notify_by_pspec(pspec: GObject.ParamSpec): void; /** * Increases the reference count of `object`. * * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type * of `object` will be propagated to the return type (using the GCC typeof() * extension), so any casting the caller needs to do on the return type must be * explicit. * @returns the same @object */ ref(): GObject.Object; /** * Increase the reference count of `object,` and possibly remove the * [floating][floating-ref] reference, if `object` has a floating reference. * * In other words, if the object is floating, then this call "assumes * ownership" of the floating reference, converting it to a normal * reference by clearing the floating flag while leaving the reference * count unchanged. If the object is not floating, then this call * adds a new normal reference increasing the reference count by one. * * Since GLib 2.56, the type of `object` will be propagated to the return type * under the same conditions as for g_object_ref(). * @returns @object */ ref_sink(): GObject.Object; /** * Releases all references to other objects. This can be used to break * reference cycles. * * This function should only be called from object system implementations. */ run_dispose(): void; /** * Each object carries around a table of associations from * strings to pointers. This function lets you set an association. * * If the object already had an association with that name, * the old association will be destroyed. * * Internally, the `key` is converted to a #GQuark using g_quark_from_string(). * This means a copy of `key` is kept permanently (even after `object` has been * finalized) — so it is recommended to only use a small, bounded set of values * for `key` in your program, to avoid the #GQuark storage growing unbounded. * @param key name of the key * @param data data to associate with that key */ set_data(key: string, data?: any | null): void; // Conflicted with WebKit2WebExtension.DOMCharacterData.set_data set_data(...args: never[]): any; /** * Sets a property on an object. * @param property_name The name of the property to set * @param value The value to set the property to */ set_property(property_name: string, value: GObject.Value | any): void; /** * Remove a specified datum from the object's data associations, * without invoking the association's destroy handler. * @param key name of the key * @returns the data if found, or %NULL if no such data exists. */ steal_data(key: string): any | null; /** * This function gets back user data pointers stored via * g_object_set_qdata() and removes the `data` from object * without invoking its destroy() function (if any was * set). * Usually, calling this function is only required to update * user data pointers with a destroy notifier, for example: * * ```c * void * object_add_to_user_list (GObject *object, * const gchar *new_string) * { * // the quark, naming the object data * GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); * // retrieve the old string list * GList *list = g_object_steal_qdata (object, quark_string_list); * * // prepend new string * list = g_list_prepend (list, g_strdup (new_string)); * // this changed 'list', so we need to set it again * g_object_set_qdata_full (object, quark_string_list, list, free_string_list); * } * static void * free_string_list (gpointer data) * { * GList *node, *list = data; * * for (node = list; node; node = node->next) * g_free (node->data); * g_list_free (list); * } * ``` * * Using g_object_get_qdata() in the above example, instead of * g_object_steal_qdata() would have left the destroy function set, * and thus the partial string list would have been freed upon * g_object_set_qdata_full(). * @param quark A #GQuark, naming the user data pointer * @returns The user data pointer set, or %NULL */ steal_qdata(quark: GLib.Quark): any | null; /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on `object` * and when it reaches zero, queued "notify" signals are emitted. * * Duplicate notifications for each property are squashed so that at most one * #GObject::notify signal is emitted for each property, in the reverse order * in which they have been queued. * * It is an error to call this function when the freeze count is zero. */ thaw_notify(): void; /** * Decreases the reference count of `object`. When its reference count * drops to 0, the object is finalized (i.e. its memory is freed). * * If the pointer to the #GObject may be reused in future (for example, if it is * an instance variable of another object), it is recommended to clear the * pointer to %NULL rather than retain a dangling pointer to a potentially * invalid #GObject instance. Use g_clear_object() for this. */ unref(): void; /** * This function essentially limits the life time of the `closure` to * the life time of the object. That is, when the object is finalized, * the `closure` is invalidated by calling g_closure_invalidate() on * it, in order to prevent invocations of the closure with a finalized * (nonexisting) object. Also, g_object_ref() and g_object_unref() are * added as marshal guards to the `closure,` to ensure that an extra * reference count is held on `object` during invocation of the * `closure`. Usually, this function will be called on closures that * use this `object` as closure data. * @param closure #GClosure to watch */ watch_closure(closure: GObject.Closure): void; /** * the `constructed` function is called by g_object_new() as the * final step of the object creation process. At the point of the call, all * construction properties have been set on the object. The purpose of this * call is to allow for object initialisation steps that can only be performed * after construction properties have been set. `constructed` implementors * should chain up to the `constructed` call of their parent class to allow it * to complete its initialisation. */ vfunc_constructed(): void; /** * emits property change notification for a bunch * of properties. Overriding `dispatch_properties_changed` should be rarely * needed. * @param n_pspecs * @param pspecs */ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void; /** * the `dispose` function is supposed to drop all references to other * objects, but keep the instance otherwise intact, so that client method * invocations still work. It may be run multiple times (due to reference * loops). Before returning, `dispose` should chain up to the `dispose` method * of the parent class. */ vfunc_dispose(): void; /** * instance finalization function, should finish the finalization of * the instance begun in `dispose` and chain up to the `finalize` method of the * parent class. */ vfunc_finalize(): void; /** * the generic getter for all properties of this type. Should be * overridden for every type with properties. * @param property_id * @param value * @param pspec */ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Emits a "notify" signal for the property `property_name` on `object`. * * When possible, eg. when signaling a property change from within the class * that registered the property, you should use g_object_notify_by_pspec() * instead. * * Note that emission of the notify signal may be blocked with * g_object_freeze_notify(). In this case, the signal emissions are queued * and will be emitted (in reverse order) when g_object_thaw_notify() is * called. * @param pspec */ vfunc_notify(pspec: GObject.ParamSpec): void; /** * the generic setter for all properties of this type. Should be * overridden for every type with properties. If implementations of * `set_property` don't emit property change notification explicitly, this will * be done implicitly by the type system. However, if the notify signal is * emitted explicitly, the type system will not emit it a second time. * @param property_id * @param value * @param pspec */ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void; /** * Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. * @param id Handler ID of the handler to be disconnected */ disconnect(id: number): void; /** * Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values. * @param properties Object containing the properties to set */ set(properties: { [key: string]: any }): void; /** * Blocks a handler of an instance so it will not be called during any signal emissions * @param id Handler ID of the handler to be blocked */ block_signal_handler(id: number): void; /** * Unblocks a handler so it will be called again during any signal emissions * @param id Handler ID of the handler to be unblocked */ unblock_signal_handler(id: number): void; /** * Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked. * @param detailedName Name of the signal to stop emission of */ stop_emission_by_name(detailedName: string): void; } namespace DOMTreeWalker { // Signal signatures interface SignalSignatures extends DOMObject.SignalSignatures { 'notify::current-node': (pspec: GObject.ParamSpec) => void; 'notify::filter': (pspec: GObject.ParamSpec) => void; 'notify::root': (pspec: GObject.ParamSpec) => void; 'notify::what-to-show': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMObject.ConstructorProps { current_node: DOMNode; currentNode: DOMNode; filter: DOMNodeFilter; root: DOMNode; what_to_show: number; whatToShow: number; } } class DOMTreeWalker extends DOMObject { static $gtype: GObject.GType; // Properties get current_node(): DOMNode; get currentNode(): DOMNode; get filter(): DOMNodeFilter; get root(): DOMNode; get what_to_show(): number; get whatToShow(): number; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMTreeWalker.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods first_child(): DOMNode; get_current_node(): DOMNode; /** * This function has been removed from the DOM spec and it just returns %FALSE. * @returns A #gboolean */ get_expand_entity_references(): boolean; get_filter(): DOMNodeFilter; get_root(): DOMNode; get_what_to_show(): number; last_child(): DOMNode; next_node(): DOMNode; next_sibling(): DOMNode; parent_node(): DOMNode; previous_node(): DOMNode; previous_sibling(): DOMNode; set_current_node(value: DOMNode): void; } namespace DOMUIEvent { // Signal signatures interface SignalSignatures extends DOMEvent.SignalSignatures { 'notify::char-code': (pspec: GObject.ParamSpec) => void; 'notify::detail': (pspec: GObject.ParamSpec) => void; 'notify::key-code': (pspec: GObject.ParamSpec) => void; 'notify::layer-x': (pspec: GObject.ParamSpec) => void; 'notify::layer-y': (pspec: GObject.ParamSpec) => void; 'notify::page-x': (pspec: GObject.ParamSpec) => void; 'notify::page-y': (pspec: GObject.ParamSpec) => void; 'notify::view': (pspec: GObject.ParamSpec) => void; 'notify::bubbles': (pspec: GObject.ParamSpec) => void; 'notify::cancel-bubble': (pspec: GObject.ParamSpec) => void; 'notify::cancelable': (pspec: GObject.ParamSpec) => void; 'notify::current-target': (pspec: GObject.ParamSpec) => void; 'notify::event-phase': (pspec: GObject.ParamSpec) => void; 'notify::return-value': (pspec: GObject.ParamSpec) => void; 'notify::src-element': (pspec: GObject.ParamSpec) => void; 'notify::target': (pspec: GObject.ParamSpec) => void; 'notify::time-stamp': (pspec: GObject.ParamSpec) => void; 'notify::type': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMEvent.ConstructorProps { char_code: number; charCode: number; detail: number; key_code: number; keyCode: number; layer_x: number; layerX: number; layer_y: number; layerY: number; page_x: number; pageX: number; page_y: number; pageY: number; view: DOMDOMWindow; } } class DOMUIEvent extends DOMEvent { static $gtype: GObject.GType; // Properties get char_code(): number; get charCode(): number; get detail(): number; get key_code(): number; get keyCode(): number; get layer_x(): number; get layerX(): number; get layer_y(): number; get layerY(): number; get page_x(): number; get pageX(): number; get page_y(): number; get pageY(): number; get view(): DOMDOMWindow; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMUIEvent.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_char_code(): number; get_detail(): number; get_key_code(): number; get_layer_x(): number; get_layer_y(): number; get_page_x(): number; get_page_y(): number; get_view(): DOMDOMWindow; init_ui_event( type: string, canBubble: boolean, cancelable: boolean, view: DOMDOMWindow, detail: number, ): void; } namespace DOMWheelEvent { // Signal signatures interface SignalSignatures extends DOMMouseEvent.SignalSignatures { 'notify::wheel-delta': (pspec: GObject.ParamSpec) => void; 'notify::wheel-delta-x': (pspec: GObject.ParamSpec) => void; 'notify::wheel-delta-y': (pspec: GObject.ParamSpec) => void; 'notify::alt-key': (pspec: GObject.ParamSpec) => void; 'notify::button': (pspec: GObject.ParamSpec) => void; 'notify::client-x': (pspec: GObject.ParamSpec) => void; 'notify::client-y': (pspec: GObject.ParamSpec) => void; 'notify::ctrl-key': (pspec: GObject.ParamSpec) => void; 'notify::from-element': (pspec: GObject.ParamSpec) => void; 'notify::meta-key': (pspec: GObject.ParamSpec) => void; 'notify::offset-x': (pspec: GObject.ParamSpec) => void; 'notify::offset-y': (pspec: GObject.ParamSpec) => void; 'notify::related-target': (pspec: GObject.ParamSpec) => void; 'notify::screen-x': (pspec: GObject.ParamSpec) => void; 'notify::screen-y': (pspec: GObject.ParamSpec) => void; 'notify::shift-key': (pspec: GObject.ParamSpec) => void; 'notify::to-element': (pspec: GObject.ParamSpec) => void; 'notify::x': (pspec: GObject.ParamSpec) => void; 'notify::y': (pspec: GObject.ParamSpec) => void; 'notify::char-code': (pspec: GObject.ParamSpec) => void; 'notify::detail': (pspec: GObject.ParamSpec) => void; 'notify::key-code': (pspec: GObject.ParamSpec) => void; 'notify::layer-x': (pspec: GObject.ParamSpec) => void; 'notify::layer-y': (pspec: GObject.ParamSpec) => void; 'notify::page-x': (pspec: GObject.ParamSpec) => void; 'notify::page-y': (pspec: GObject.ParamSpec) => void; 'notify::view': (pspec: GObject.ParamSpec) => void; 'notify::bubbles': (pspec: GObject.ParamSpec) => void; 'notify::cancel-bubble': (pspec: GObject.ParamSpec) => void; 'notify::cancelable': (pspec: GObject.ParamSpec) => void; 'notify::current-target': (pspec: GObject.ParamSpec) => void; 'notify::event-phase': (pspec: GObject.ParamSpec) => void; 'notify::return-value': (pspec: GObject.ParamSpec) => void; 'notify::src-element': (pspec: GObject.ParamSpec) => void; 'notify::target': (pspec: GObject.ParamSpec) => void; 'notify::time-stamp': (pspec: GObject.ParamSpec) => void; 'notify::type': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMMouseEvent.ConstructorProps { wheel_delta: number; wheelDelta: number; wheel_delta_x: number; wheelDeltaX: number; wheel_delta_y: number; wheelDeltaY: number; } } class DOMWheelEvent extends DOMMouseEvent { static $gtype: GObject.GType; // Properties get wheel_delta(): number; get wheelDelta(): number; get wheel_delta_x(): number; get wheelDeltaX(): number; get wheel_delta_y(): number; get wheelDeltaY(): number; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMWheelEvent.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_wheel_delta(): number; get_wheel_delta_x(): number; get_wheel_delta_y(): number; init_wheel_event( wheelDeltaX: number, wheelDeltaY: number, view: DOMDOMWindow, screenX: number, screenY: number, clientX: number, clientY: number, ctrlKey: boolean, altKey: boolean, shiftKey: boolean, metaKey: boolean, ): void; } namespace DOMXPathExpression { // Signal signatures interface SignalSignatures extends DOMObject.SignalSignatures { 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMObject.ConstructorProps {} } class DOMXPathExpression extends DOMObject { static $gtype: GObject.GType; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMXPathExpression.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods evaluate(contextNode: DOMNode, type: number, inResult: DOMXPathResult): DOMXPathResult; } namespace DOMXPathResult { // Signal signatures interface SignalSignatures extends DOMObject.SignalSignatures { 'notify::boolean-value': (pspec: GObject.ParamSpec) => void; 'notify::invalid-iterator-state': (pspec: GObject.ParamSpec) => void; 'notify::number-value': (pspec: GObject.ParamSpec) => void; 'notify::result-type': (pspec: GObject.ParamSpec) => void; 'notify::single-node-value': (pspec: GObject.ParamSpec) => void; 'notify::snapshot-length': (pspec: GObject.ParamSpec) => void; 'notify::string-value': (pspec: GObject.ParamSpec) => void; 'notify::core-object': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends DOMObject.ConstructorProps { boolean_value: boolean; booleanValue: boolean; invalid_iterator_state: boolean; invalidIteratorState: boolean; number_value: number; numberValue: number; result_type: number; resultType: number; single_node_value: DOMNode; singleNodeValue: DOMNode; snapshot_length: number; snapshotLength: number; string_value: string; stringValue: string; } } class DOMXPathResult extends DOMObject { static $gtype: GObject.GType; // Properties get boolean_value(): boolean; get booleanValue(): boolean; get invalid_iterator_state(): boolean; get invalidIteratorState(): boolean; get number_value(): number; get numberValue(): number; get result_type(): number; get resultType(): number; get single_node_value(): DOMNode; get singleNodeValue(): DOMNode; get snapshot_length(): number; get snapshotLength(): number; get string_value(): string; get stringValue(): string; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: DOMXPathResult.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods get_boolean_value(): boolean; get_invalid_iterator_state(): boolean; get_number_value(): number; get_result_type(): number; get_single_node_value(): DOMNode; get_snapshot_length(): number; get_string_value(): string; iterate_next(): DOMNode; snapshot_item(index: number): DOMNode; } namespace Frame { // Signal signatures interface SignalSignatures extends GObject.Object.SignalSignatures {} // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } /** * A web page frame. * * Each `WebKitWebPage` has at least one main frame, and can have any number * of subframes. */ class Frame extends GObject.Object { static $gtype: GObject.GType; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: Frame.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods /** * Gets the process-unique identifier of this #WebKitFrame. No other * frame in the same web process will have the same ID; however, frames * in other web processes may. * @returns the identifier of @frame */ get_id(): number; /** * Get the JavaScript execution context of `frame`. Use this function to bridge * between the WebKit and JavaScriptCore APIs. * @returns the #JSCContext for the JavaScript execution context of @frame. */ get_js_context(): JavaScriptCore.Context; /** * Get the JavaScript execution context of `frame` for the given #WebKitScriptWorld. * @param world a #WebKitScriptWorld * @returns the #JSCContext for the JavaScript execution context of @frame for @world. */ get_js_context_for_script_world(world: ScriptWorld): JavaScriptCore.Context; /** * Get a #JSCValue referencing the given DOM object. The value is created in the JavaScript execution * context of `frame`. * @param dom_object a #WebKitDOMObject * @returns the #JSCValue referencing @dom_object. */ get_js_value_for_dom_object(dom_object: DOMObject): JavaScriptCore.Value; /** * Get a #JSCValue referencing the given DOM object. The value is created in the JavaScript execution * context of `frame` for the given #WebKitScriptWorld. * @param dom_object a #WebKitDOMObject * @param world a #WebKitScriptWorld * @returns the #JSCValue referencing @dom_object */ get_js_value_for_dom_object_in_script_world( dom_object: DOMObject, world: ScriptWorld, ): JavaScriptCore.Value; /** * Gets the current active URI of `frame`. * @returns the current active URI of @frame or %NULL if nothing has been loaded yet. */ get_uri(): string; /** * Gets whether `frame` is the main frame of a #WebKitWebPage * @returns %TRUE if @frame is a main frame or %FALSE otherwise */ is_main_frame(): boolean; } namespace HitTestResult { // Signal signatures interface SignalSignatures extends GObject.Object.SignalSignatures { 'notify::context': (pspec: GObject.ParamSpec) => void; 'notify::image-uri': (pspec: GObject.ParamSpec) => void; 'notify::link-label': (pspec: GObject.ParamSpec) => void; 'notify::link-title': (pspec: GObject.ParamSpec) => void; 'notify::link-uri': (pspec: GObject.ParamSpec) => void; 'notify::media-uri': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps { context: number; image_uri: string; imageUri: string; link_label: string; linkLabel: string; link_title: string; linkTitle: string; link_uri: string; linkUri: string; media_uri: string; mediaUri: string; } } /** * Result of a Hit Test. * * A Hit Test is an operation to get context information about a given * point in a #WebKitWebView. #WebKitHitTestResult represents the * result of a Hit Test. It provides context information about what is * at the coordinates of the Hit Test, such as if there's a link, * an image or a media. * * You can get the context of the HitTestResult with * webkit_hit_test_result_get_context() that returns a bitmask of * #WebKitHitTestResultContext flags. You can also use * webkit_hit_test_result_context_is_link(), webkit_hit_test_result_context_is_image() and * webkit_hit_test_result_context_is_media() to determine whether there's * a link, image or a media element at the coordinates of the Hit Test. * Note that it's possible that several #WebKitHitTestResultContext flags * are active at the same time, for example if there's a link containing an image. * * When the mouse is moved over a #WebKitWebView a Hit Test is performed * for the mouse coordinates and #WebKitWebView::mouse-target-changed * signal is emitted with a #WebKitHitTestResult. */ class HitTestResult extends GObject.Object { static $gtype: GObject.GType; // Properties /** * Bitmask of #WebKitHitTestResultContext flags representing * the context of the #WebKitHitTestResult. */ get context(): number; /** * The URI of the image if flag %WEBKIT_HIT_TEST_RESULT_CONTEXT_IMAGE * is present in #WebKitHitTestResult:context */ get image_uri(): string; /** * The URI of the image if flag %WEBKIT_HIT_TEST_RESULT_CONTEXT_IMAGE * is present in #WebKitHitTestResult:context */ get imageUri(): string; /** * The label of the link if flag %WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK * is present in #WebKitHitTestResult:context */ get link_label(): string; /** * The label of the link if flag %WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK * is present in #WebKitHitTestResult:context */ get linkLabel(): string; /** * The title of the link if flag %WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK * is present in #WebKitHitTestResult:context */ get link_title(): string; /** * The title of the link if flag %WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK * is present in #WebKitHitTestResult:context */ get linkTitle(): string; /** * The URI of the link if flag %WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK * is present in #WebKitHitTestResult:context */ get link_uri(): string; /** * The URI of the link if flag %WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK * is present in #WebKitHitTestResult:context */ get linkUri(): string; /** * The URI of the media if flag %WEBKIT_HIT_TEST_RESULT_CONTEXT_MEDIA * is present in #WebKitHitTestResult:context */ get media_uri(): string; /** * The URI of the media if flag %WEBKIT_HIT_TEST_RESULT_CONTEXT_MEDIA * is present in #WebKitHitTestResult:context */ get mediaUri(): string; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: HitTestResult.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods /** * Gets whether %WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE flag is present in * #WebKitHitTestResult:context. * @returns %TRUE if there's an editable element at the coordinates of the @hit_test_result, or %FALSE otherwise */ context_is_editable(): boolean; /** * Gets whether %WEBKIT_HIT_TEST_RESULT_CONTEXT_IMAGE flag is present in * #WebKitHitTestResult:context. * @returns %TRUE if there's an image element in the coordinates of the Hit Test, or %FALSE otherwise */ context_is_image(): boolean; /** * Gets whether %WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK flag is present in * #WebKitHitTestResult:context. * @returns %TRUE if there's a link element in the coordinates of the Hit Test, or %FALSE otherwise */ context_is_link(): boolean; /** * Gets whether %WEBKIT_HIT_TEST_RESULT_CONTEXT_MEDIA flag is present in * #WebKitHitTestResult:context. * @returns %TRUE if there's a media element in the coordinates of the Hit Test, or %FALSE otherwise */ context_is_media(): boolean; /** * Gets whether %WEBKIT_HIT_TEST_RESULT_CONTEXT_SCROLLBAR flag is present in * #WebKitHitTestResult:context. * @returns %TRUE if there's a scrollbar element at the coordinates of the @hit_test_result, or %FALSE otherwise */ context_is_scrollbar(): boolean; /** * Gets whether %WEBKIT_HIT_TEST_RESULT_CONTEXT_SELECTION flag is present in * #WebKitHitTestResult:context. * @returns %TRUE if there's a selected element at the coordinates of the @hit_test_result, or %FALSE otherwise */ context_is_selection(): boolean; /** * Gets the value of the #WebKitHitTestResult:context property. * @returns a bitmask of #WebKitHitTestResultContext flags */ get_context(): number; /** * Gets the value of the #WebKitHitTestResult:image-uri property. * @returns the URI of the image element in the coordinates of the Hit Test, or %NULL if there isn't an image element in @hit_test_result context */ get_image_uri(): string; /** * Gets the value of the #WebKitHitTestResult:link-label property. * @returns the label of the link element in the coordinates of the Hit Test, or %NULL if there isn't a link element in @hit_test_result context or the link element doesn't have a label */ get_link_label(): string; /** * Gets the value of the #WebKitHitTestResult:link-title property. * @returns the title of the link element in the coordinates of the Hit Test, or %NULL if there isn't a link element in @hit_test_result context or the link element doesn't have a title */ get_link_title(): string; /** * Gets the value of the #WebKitHitTestResult:link-uri property. * @returns the URI of the link element in the coordinates of the Hit Test, or %NULL if there isn't a link element in @hit_test_result context */ get_link_uri(): string; /** * Gets the value of the #WebKitHitTestResult:media-uri property. * @returns the URI of the media element in the coordinates of the Hit Test, or %NULL if there isn't a media element in @hit_test_result context */ get_media_uri(): string; } namespace ScriptWorld { // Signal signatures interface SignalSignatures extends GObject.Object.SignalSignatures { 'window-object-cleared': (arg0: WebPage, arg1: Frame) => void; } // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } class ScriptWorld extends GObject.Object { static $gtype: GObject.GType; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: ScriptWorld.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): ScriptWorld; static new_with_name(name: string): ScriptWorld; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Static methods /** * Get the default #WebKitScriptWorld. This is the normal script world * where all scripts are executed by default. * You can get the JavaScript execution context of a #WebKitScriptWorld * for a given #WebKitFrame with webkit_frame_get_javascript_context_for_script_world(). */ static get_default(): ScriptWorld; // Methods /** * Get the name of a #WebKitScriptWorld. * @returns the name of @world */ get_name(): string; } namespace URIRequest { // Signal signatures interface SignalSignatures extends GObject.Object.SignalSignatures { 'notify::uri': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps { uri: string; } } /** * Represents a URI request. * * A #WebKitURIRequest can be created with a URI using the * webkit_uri_request_new() method, and you can get the URI of an * existing request with the webkit_uri_request_get_uri() one. */ class URIRequest extends GObject.Object { static $gtype: GObject.GType; // Properties /** * The URI to which the request will be made. */ get uri(): string; set uri(val: string); /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: URIRequest.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](uri: string): URIRequest; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods /** * Get the HTTP headers of a #WebKitURIRequest as a #SoupMessageHeaders. * @returns a #SoupMessageHeaders with the HTTP headers of @request or %NULL if @request is not an HTTP request. */ get_http_headers(): Soup.MessageHeaders; /** * Get the HTTP method of the #WebKitURIRequest. * @returns the HTTP method of the #WebKitURIRequest or %NULL if @request is not an HTTP request. */ get_http_method(): string; /** * Obtains the request URI. * @returns request URI, as a string. */ get_uri(): string; /** * Set the URI of `request` * @param uri an URI */ set_uri(uri: string): void; } namespace URIResponse { // Signal signatures interface SignalSignatures extends GObject.Object.SignalSignatures { 'notify::content-length': (pspec: GObject.ParamSpec) => void; 'notify::http-headers': (pspec: GObject.ParamSpec) => void; 'notify::mime-type': (pspec: GObject.ParamSpec) => void; 'notify::status-code': (pspec: GObject.ParamSpec) => void; 'notify::suggested-filename': (pspec: GObject.ParamSpec) => void; 'notify::uri': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps { content_length: number; contentLength: number; http_headers: Soup.MessageHeaders; httpHeaders: Soup.MessageHeaders; mime_type: string; mimeType: string; status_code: number; statusCode: number; suggested_filename: string; suggestedFilename: string; uri: string; } } /** * Represents an URI response. * * A #WebKitURIResponse contains information such as the URI, the * status code, the content length, the mime type, the HTTP status or * the suggested filename. */ class URIResponse extends GObject.Object { static $gtype: GObject.GType; // Properties /** * The expected content length of the response. */ get content_length(): number; /** * The expected content length of the response. */ get contentLength(): number; /** * The HTTP headers of the response, or %NULL if the response is not an HTTP response. */ get http_headers(): Soup.MessageHeaders; /** * The HTTP headers of the response, or %NULL if the response is not an HTTP response. */ get httpHeaders(): Soup.MessageHeaders; /** * The MIME type of the response. */ get mime_type(): string; /** * The MIME type of the response. */ get mimeType(): string; /** * The status code of the response as returned by the server. */ get status_code(): number; /** * The status code of the response as returned by the server. */ get statusCode(): number; /** * The suggested filename for the URI response. */ get suggested_filename(): string; /** * The suggested filename for the URI response. */ get suggestedFilename(): string; /** * The URI for which the response was made. */ get uri(): string; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: URIResponse.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods /** * Get the expected content length of the #WebKitURIResponse. * * It can be 0 if the server provided an incorrect or missing Content-Length. * @returns the expected content length of @response. */ get_content_length(): number; /** * Get the HTTP headers of a #WebKitURIResponse as a #SoupMessageHeaders. * @returns a #SoupMessageHeaders with the HTTP headers of @response or %NULL if @response is not an HTTP response. */ get_http_headers(): Soup.MessageHeaders; /** * Gets the MIME type of the response. * @returns MIME type, as a string. */ get_mime_type(): string; /** * Get the status code of the #WebKitURIResponse. * * Get the status code of the #WebKitURIResponse as returned by * the server. It will normally be a #SoupKnownStatusCode, for * example %SOUP_STATUS_OK, though the server can respond with any * unsigned integer. * @returns the status code of @response */ get_status_code(): number; /** * Get the suggested filename for `response`. * * Get the suggested filename for `response,` as specified by * the 'Content-Disposition' HTTP header, or %NULL if it's not * present. * @returns the suggested filename or %NULL if the 'Content-Disposition' HTTP header is not present. */ get_suggested_filename(): string; /** * Gets the URI which resulted in the response. * @returns response URI, as a string. */ get_uri(): string; } namespace UserMessage { // Signal signatures interface SignalSignatures extends GObject.InitiallyUnowned.SignalSignatures { 'notify::fd-list': (pspec: GObject.ParamSpec) => void; 'notify::name': (pspec: GObject.ParamSpec) => void; 'notify::parameters': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends GObject.InitiallyUnowned.ConstructorProps { fd_list: Gio.UnixFDList; fdList: Gio.UnixFDList; name: string; parameters: GLib.Variant; } } /** * Message that can be sent between the UI process and web process extensions. * * A WebKitUserMessage is a message that can be used for the communication between the UI process * and web process extensions. A WebKitUserMessage always has a name, and it can also include parameters and * UNIX file descriptors. Messages can be sent from a #WebKitWebContext to all web process extensions, * from a web process extension to its corresponding #WebKitWebContext, and from a #WebKitWebView to its * corresponding #WebKitWebPage (and vice versa). One to one messages can be replied to directly with * webkit_user_message_send_reply(). */ class UserMessage extends GObject.InitiallyUnowned { static $gtype: GObject.GType; // Properties /** * The UNIX file descriptors of the user message. */ get fd_list(): Gio.UnixFDList; /** * The UNIX file descriptors of the user message. */ get fdList(): Gio.UnixFDList; /** * The name of the user message. */ get name(): string; /** * The parameters of the user message as a #GVariant, or %NULL * if the message doesn't include parameters. Note that only complete types are * allowed. */ get parameters(): GLib.Variant; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: UserMessage.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](name: string, parameters?: GLib.Variant | null): UserMessage; static new_with_fd_list( name: string, parameters?: GLib.Variant | null, fd_list?: Gio.UnixFDList | null, ): UserMessage; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Static methods /** * Gets the quark for the domain of user message errors. */ static error_quark(): GLib.Quark; // Methods /** * Get the `message` list of file descritpor. * @returns the message list of file descriptors */ get_fd_list(): Gio.UnixFDList | null; /** * Get the `message` name. * @returns the message name */ get_name(): string; /** * Get the `message` parameters. * @returns the message parameters */ get_parameters(): GLib.Variant | null; /** * Send a reply to an user message. * * If `reply` is floating, it's consumed. * You can only send a reply to a #WebKitUserMessage that has been * received. * @param reply a #WebKitUserMessage to send as reply */ send_reply(reply: UserMessage): void; } namespace WebEditor { // Signal signatures interface SignalSignatures extends GObject.Object.SignalSignatures { 'selection-changed': () => void; } // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } /** * Access to editing capabilities of a #WebKitWebPage. * * The WebKitWebEditor provides access to various editing capabilities of * a #WebKitWebPage such as a possibility to react to the current selection in * #WebKitWebPage. */ class WebEditor extends GObject.Object { static $gtype: GObject.GType; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: WebEditor.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods /** * Gets the #WebKitWebPage that is associated with the #WebKitWebEditor. * @returns the associated #WebKitWebPage */ get_page(): WebPage; } namespace WebExtension { // Signal signatures interface SignalSignatures extends GObject.Object.SignalSignatures { 'page-created': (arg0: WebPage) => void; 'user-message-received': (arg0: UserMessage) => void; } // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } /** * Represents an extension of the WebProcess. * * WebKitWebExtension is a loadable module for the WebProcess. It allows you to execute code in the * WebProcess and being able to use the DOM API, to change any request or to inject custom * JavaScript code, for example. * * To create a WebKitWebExtension you should write a module with an initialization function that could * be either webkit_web_extension_initialize() with prototype #WebKitWebExtensionInitializeFunction or * webkit_web_extension_initialize_with_user_data() with prototype #WebKitWebExtensionInitializeWithUserDataFunction. * This function has to be public and it has to use the #G_MODULE_EXPORT macro. It is called when the * web process is initialized. * * ```c * static void * web_page_created_callback (WebKitWebExtension *extension, * WebKitWebPage *web_page, * gpointer user_data) * { * g_print ("Page %d created for %s\n", * webkit_web_page_get_id (web_page), * webkit_web_page_get_uri (web_page)); * } * * G_MODULE_EXPORT void * webkit_web_extension_initialize (WebKitWebExtension *extension) * { * g_signal_connect (extension, "page-created", * G_CALLBACK (web_page_created_callback), * NULL); * } * ``` * * The previous piece of code shows a trivial example of an extension that notifies when * a #WebKitWebPage is created. * * WebKit has to know where it can find the created WebKitWebExtension. To do so you * should use the webkit_web_context_set_web_extensions_directory() function. The signal * #WebKitWebContext::initialize-web-extensions is the recommended place to call it. * * To provide the initialization data used by the webkit_web_extension_initialize_with_user_data() * function, you have to call webkit_web_context_set_web_extensions_initialization_user_data() with * the desired data as parameter. You can see an example of this in the following piece of code: * * ```c * #define WEB_EXTENSIONS_DIRECTORY // ... * * static void * initialize_web_extensions (WebKitWebContext *context, * gpointer user_data) * { * // Web Extensions get a different ID for each Web Process * static guint32 unique_id = 0; * * webkit_web_context_set_web_extensions_directory ( * context, WEB_EXTENSIONS_DIRECTORY); * webkit_web_context_set_web_extensions_initialization_user_data ( * context, g_variant_new_uint32 (unique_id++)); * } * * int main (int argc, char **argv) * { * g_signal_connect (webkit_web_context_get_default (), * "initialize-web-extensions", * G_CALLBACK (initialize_web_extensions), * NULL); * * GtkWidget *view = webkit_web_view_new (); * * // ... * } * ``` */ class WebExtension extends GObject.Object { static $gtype: GObject.GType; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: WebExtension.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods /** * Get the web page of the given `page_id`. * @param page_id the identifier of the #WebKitWebPage to get * @returns the #WebKitWebPage for the given @page_id, or %NULL if the identifier doesn't correspond to an existing web page. */ get_page(page_id: number): WebPage; /** * Send `message` to the #WebKitWebContext corresponding to `extension`. If `message` is floating, it's consumed. * * If you don't expect any reply, or you simply want to ignore it, you can pass %NULL as `calback`. * When the operation is finished, `callback` will be called. You can then call * webkit_web_extension_send_message_to_context_finish() to get the message reply. * @param message a #WebKitUserMessage * @param cancellable a #GCancellable or %NULL to ignore */ send_message_to_context( message: UserMessage, cancellable?: Gio.Cancellable | null, ): globalThis.Promise; /** * Send `message` to the #WebKitWebContext corresponding to `extension`. If `message` is floating, it's consumed. * * If you don't expect any reply, or you simply want to ignore it, you can pass %NULL as `calback`. * When the operation is finished, `callback` will be called. You can then call * webkit_web_extension_send_message_to_context_finish() to get the message reply. * @param message a #WebKitUserMessage * @param cancellable a #GCancellable or %NULL to ignore * @param callback A #GAsyncReadyCallback to call when the request is satisfied or %NULL */ send_message_to_context( message: UserMessage, cancellable: Gio.Cancellable | null, callback: Gio.AsyncReadyCallback | null, ): void; /** * Send `message` to the #WebKitWebContext corresponding to `extension`. If `message` is floating, it's consumed. * * If you don't expect any reply, or you simply want to ignore it, you can pass %NULL as `calback`. * When the operation is finished, `callback` will be called. You can then call * webkit_web_extension_send_message_to_context_finish() to get the message reply. * @param message a #WebKitUserMessage * @param cancellable a #GCancellable or %NULL to ignore * @param callback A #GAsyncReadyCallback to call when the request is satisfied or %NULL */ send_message_to_context( message: UserMessage, cancellable?: Gio.Cancellable | null, callback?: Gio.AsyncReadyCallback | null, ): globalThis.Promise | void; /** * Finish an asynchronous operation started with webkit_web_extension_send_message_to_context(). * @param result a #GAsyncResult * @returns a #WebKitUserMessage with the reply or %NULL in case of error. */ send_message_to_context_finish(result: Gio.AsyncResult): UserMessage; } namespace WebFormManager { // Signal signatures interface SignalSignatures extends GObject.Object.SignalSignatures { 'form-controls-associated': (arg0: Frame, arg1: JavaScriptCore.Value[]) => void; 'will-send-submit-event': (arg0: JavaScriptCore.Value, arg1: Frame, arg2: Frame) => void; 'will-submit-form': (arg0: JavaScriptCore.Value, arg1: Frame, arg2: Frame) => void; } // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } /** * Form manager of a #WebKitWebPage in a #WebKitScriptWorld */ class WebFormManager extends GObject.Object { static $gtype: GObject.GType; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: WebFormManager.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Static methods /** * Set the value of an HTML input element as if it had been edited by * the user, triggering a change event, and set it as filled automatically. * If `element` is not an HTML input element this function does nothing. * @param element a #JSCValue * @param value the text to set */ static input_element_auto_fill(element: JavaScriptCore.Value, value: string): void; /** * Get whether `element` is an HTML input element that has been filled automatically. * @param element a #JSCValue */ static input_element_is_auto_filled(element: JavaScriptCore.Value): boolean; /** * Get whether `element` is an HTML text input element that has been edited by a user action. * @param element a #JSCValue */ static input_element_is_user_edited(element: JavaScriptCore.Value): boolean; } namespace WebHitTestResult { // Signal signatures interface SignalSignatures extends HitTestResult.SignalSignatures { 'notify::node': (pspec: GObject.ParamSpec) => void; 'notify::context': (pspec: GObject.ParamSpec) => void; 'notify::image-uri': (pspec: GObject.ParamSpec) => void; 'notify::link-label': (pspec: GObject.ParamSpec) => void; 'notify::link-title': (pspec: GObject.ParamSpec) => void; 'notify::link-uri': (pspec: GObject.ParamSpec) => void; 'notify::media-uri': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends HitTestResult.ConstructorProps { node: DOMNode; } } /** * Result of a Hit Test (Web Process Extensions). * * WebKitWebHitTestResult extends #WebKitHitTestResult to provide information * about the #WebKitDOMNode in the coordinates of the Hit Test. */ class WebHitTestResult extends HitTestResult { static $gtype: GObject.GType; // Properties /** * The #WebKitDOMNode */ get node(): DOMNode; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: WebHitTestResult.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods /** * Get the #JSCValue for the DOM node in `world` at the coordinates of the Hit Test. * @param world a #WebKitScriptWorld, or %NULL to use the default * @returns a #JSCValue for the DOM node, or %NULL */ get_js_node(world?: ScriptWorld | null): JavaScriptCore.Value | null; /** * Get the #WebKitDOMNode in the coordinates of the Hit Test. * @returns a #WebKitDOMNode */ get_node(): DOMNode; } namespace WebPage { // Signal signatures interface SignalSignatures extends GObject.Object.SignalSignatures { 'console-message-sent': (arg0: ConsoleMessage) => void; 'context-menu': (arg0: ContextMenu, arg1: WebHitTestResult) => boolean | void; 'document-loaded': () => void; 'form-controls-associated': (arg0: DOMElement[]) => void; 'form-controls-associated-for-frame': (arg0: DOMElement[], arg1: Frame) => void; 'send-request': (arg0: URIRequest, arg1: URIResponse) => boolean | void; 'user-message-received': (arg0: UserMessage) => boolean | void; 'will-submit-form': ( arg0: DOMElement, arg1: FormSubmissionStep, arg2: Frame, arg3: Frame, arg4: string[], arg5: string[], ) => void; 'notify::uri': (pspec: GObject.ParamSpec) => void; } // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps { uri: string; } } /** * A loaded web page. */ class WebPage extends GObject.Object { static $gtype: GObject.GType; // Properties /** * The current active URI of the #WebKitWebPage. */ get uri(): string; /** * Compile-time signal type information. * * This instance property is generated only for TypeScript type checking. * It is not defined at runtime and should not be accessed in JS code. * @internal */ $signals: WebPage.SignalSignatures; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect( signal: K, callback: GObject.SignalCallback, ): number; connect(signal: string, callback: (...args: any[]) => any): number; connect_after( signal: K, callback: GObject.SignalCallback, ): number; connect_after(signal: string, callback: (...args: any[]) => any): number; emit( signal: K, ...args: GObject.GjsParameters extends [any, ...infer Q] ? Q : never ): void; emit(signal: string, ...args: any[]): void; // Methods /** * Get the #WebKitDOMDocument currently loaded in `web_page` * @returns the #WebKitDOMDocument currently loaded, or %NULL if no document is currently loaded. */ get_dom_document(): DOMDocument; /** * Gets the #WebKitWebEditor of a #WebKitWebPage. * @returns the #WebKitWebEditor */ get_editor(): WebEditor; /** * Get the #WebKitWebFormManager of `web_page` in `world`. * @param world a #WebKitScriptWorld * @returns a #WebKitWebFormManager */ get_form_manager(world?: ScriptWorld | null): WebFormManager; /** * Get the identifier of the #WebKitWebPage * @returns the identifier of @web_page */ get_id(): number; /** * Returns the main frame of a #WebKitWebPage. * @returns the #WebKitFrame that is the main frame of @web_page */ get_main_frame(): Frame; /** * Returns the current active URI of `web_page`. * * You can monitor the active URI by connecting to the notify::uri * signal of `web_page`. * @returns the current active URI of @web_view or %NULL if nothing has been loaded yet. */ get_uri(): string; /** * Send `message` to the #WebKitWebView corresponding to `web_page`. If `message` is floating, it's consumed. * * If you don't expect any reply, or you simply want to ignore it, you can pass %NULL as `callback`. * When the operation is finished, `callback` will be called. You can then call * webkit_web_page_send_message_to_view_finish() to get the message reply. * @param message a #WebKitUserMessage * @param cancellable a #GCancellable or %NULL to ignore */ send_message_to_view( message: UserMessage, cancellable?: Gio.Cancellable | null, ): globalThis.Promise; /** * Send `message` to the #WebKitWebView corresponding to `web_page`. If `message` is floating, it's consumed. * * If you don't expect any reply, or you simply want to ignore it, you can pass %NULL as `callback`. * When the operation is finished, `callback` will be called. You can then call * webkit_web_page_send_message_to_view_finish() to get the message reply. * @param message a #WebKitUserMessage * @param cancellable a #GCancellable or %NULL to ignore * @param callback A #GAsyncReadyCallback to call when the request is satisfied or %NULL */ send_message_to_view( message: UserMessage, cancellable: Gio.Cancellable | null, callback: Gio.AsyncReadyCallback | null, ): void; /** * Send `message` to the #WebKitWebView corresponding to `web_page`. If `message` is floating, it's consumed. * * If you don't expect any reply, or you simply want to ignore it, you can pass %NULL as `callback`. * When the operation is finished, `callback` will be called. You can then call * webkit_web_page_send_message_to_view_finish() to get the message reply. * @param message a #WebKitUserMessage * @param cancellable a #GCancellable or %NULL to ignore * @param callback A #GAsyncReadyCallback to call when the request is satisfied or %NULL */ send_message_to_view( message: UserMessage, cancellable?: Gio.Cancellable | null, callback?: Gio.AsyncReadyCallback | null, ): globalThis.Promise | void; /** * Finish an asynchronous operation started with webkit_web_page_send_message_to_view(). * @param result a #GAsyncResult * @returns a #WebKitUserMessage with the reply or %NULL in case of error. */ send_message_to_view_finish(result: Gio.AsyncResult): UserMessage; } abstract class ConsoleMessage { static $gtype: GObject.GType; // Constructors _init(...args: any[]): void; // Methods /** * Make a copy of `console_message`. * @returns A copy of passed in #WebKitConsoleMessage */ copy(): ConsoleMessage; /** * Free the #WebKitConsoleMessage */ free(): void; /** * Gets the log level of a #WebKitConsoleMessage * @returns a #WebKitConsoleMessageLevel indicating the log level of @console_message */ get_level(): ConsoleMessageLevel; /** * Gets the line number of a #WebKitConsoleMessage * @returns the line number of @console_message */ get_line(): number; /** * Gets the source of a #WebKitConsoleMessage * @returns a #WebKitConsoleMessageSource indicating the source of @console_message */ get_source(): ConsoleMessageSource; /** * Gets the source identifier of a #WebKitConsoleMessage * @returns the source identifier of @console_message */ get_source_id(): string; /** * Gets the text message of a #WebKitConsoleMessage * @returns the text message of @console_message */ get_text(): string; } type ContextMenuClass = typeof ContextMenu; type ContextMenuItemClass = typeof ContextMenuItem; abstract class ContextMenuItemPrivate { static $gtype: GObject.GType; // Constructors _init(...args: any[]): void; } abstract class ContextMenuPrivate { static $gtype: GObject.GType; // Constructors _init(...args: any[]): void; } type DOMAttrClass = typeof DOMAttr; type DOMBlobClass = typeof DOMBlob; type DOMCDATASectionClass = typeof DOMCDATASection; type DOMCSSRuleClass = typeof DOMCSSRule; type DOMCSSRuleListClass = typeof DOMCSSRuleList; type DOMCSSStyleDeclarationClass = typeof DOMCSSStyleDeclaration; type DOMCSSStyleSheetClass = typeof DOMCSSStyleSheet; type DOMCSSValueClass = typeof DOMCSSValue; type DOMCharacterDataClass = typeof DOMCharacterData; type DOMClientRectClass = typeof DOMClientRect; type DOMClientRectListClass = typeof DOMClientRectList; type DOMCommentClass = typeof DOMComment; type DOMDOMImplementationClass = typeof DOMDOMImplementation; type DOMDOMSelectionClass = typeof DOMDOMSelection; type DOMDOMTokenListClass = typeof DOMDOMTokenList; type DOMDOMWindowClass = typeof DOMDOMWindow; type DOMDocumentClass = typeof DOMDocument; type DOMDocumentFragmentClass = typeof DOMDocumentFragment; type DOMDocumentTypeClass = typeof DOMDocumentType; type DOMElementClass = typeof DOMElement; type DOMEntityReferenceClass = typeof DOMEntityReference; type DOMEventClass = typeof DOMEvent; type DOMEventTargetIface = typeof DOMEventTarget; type DOMFileClass = typeof DOMFile; type DOMFileListClass = typeof DOMFileList; type DOMHTMLAnchorElementClass = typeof DOMHTMLAnchorElement; type DOMHTMLAppletElementClass = typeof DOMHTMLAppletElement; type DOMHTMLAreaElementClass = typeof DOMHTMLAreaElement; type DOMHTMLBRElementClass = typeof DOMHTMLBRElement; type DOMHTMLBaseElementClass = typeof DOMHTMLBaseElement; type DOMHTMLBaseFontElementClass = typeof DOMHTMLBaseFontElement; type DOMHTMLBodyElementClass = typeof DOMHTMLBodyElement; type DOMHTMLButtonElementClass = typeof DOMHTMLButtonElement; type DOMHTMLCanvasElementClass = typeof DOMHTMLCanvasElement; type DOMHTMLCollectionClass = typeof DOMHTMLCollection; type DOMHTMLDListElementClass = typeof DOMHTMLDListElement; type DOMHTMLDirectoryElementClass = typeof DOMHTMLDirectoryElement; type DOMHTMLDivElementClass = typeof DOMHTMLDivElement; type DOMHTMLDocumentClass = typeof DOMHTMLDocument; type DOMHTMLElementClass = typeof DOMHTMLElement; type DOMHTMLEmbedElementClass = typeof DOMHTMLEmbedElement; type DOMHTMLFieldSetElementClass = typeof DOMHTMLFieldSetElement; type DOMHTMLFontElementClass = typeof DOMHTMLFontElement; type DOMHTMLFormElementClass = typeof DOMHTMLFormElement; type DOMHTMLFrameElementClass = typeof DOMHTMLFrameElement; type DOMHTMLFrameSetElementClass = typeof DOMHTMLFrameSetElement; type DOMHTMLHRElementClass = typeof DOMHTMLHRElement; type DOMHTMLHeadElementClass = typeof DOMHTMLHeadElement; type DOMHTMLHeadingElementClass = typeof DOMHTMLHeadingElement; type DOMHTMLHtmlElementClass = typeof DOMHTMLHtmlElement; type DOMHTMLIFrameElementClass = typeof DOMHTMLIFrameElement; type DOMHTMLImageElementClass = typeof DOMHTMLImageElement; type DOMHTMLInputElementClass = typeof DOMHTMLInputElement; type DOMHTMLLIElementClass = typeof DOMHTMLLIElement; type DOMHTMLLabelElementClass = typeof DOMHTMLLabelElement; type DOMHTMLLegendElementClass = typeof DOMHTMLLegendElement; type DOMHTMLLinkElementClass = typeof DOMHTMLLinkElement; type DOMHTMLMapElementClass = typeof DOMHTMLMapElement; type DOMHTMLMarqueeElementClass = typeof DOMHTMLMarqueeElement; type DOMHTMLMenuElementClass = typeof DOMHTMLMenuElement; type DOMHTMLMetaElementClass = typeof DOMHTMLMetaElement; type DOMHTMLModElementClass = typeof DOMHTMLModElement; type DOMHTMLOListElementClass = typeof DOMHTMLOListElement; type DOMHTMLObjectElementClass = typeof DOMHTMLObjectElement; type DOMHTMLOptGroupElementClass = typeof DOMHTMLOptGroupElement; type DOMHTMLOptionElementClass = typeof DOMHTMLOptionElement; type DOMHTMLOptionsCollectionClass = typeof DOMHTMLOptionsCollection; type DOMHTMLParagraphElementClass = typeof DOMHTMLParagraphElement; type DOMHTMLParamElementClass = typeof DOMHTMLParamElement; type DOMHTMLPreElementClass = typeof DOMHTMLPreElement; type DOMHTMLQuoteElementClass = typeof DOMHTMLQuoteElement; type DOMHTMLScriptElementClass = typeof DOMHTMLScriptElement; type DOMHTMLSelectElementClass = typeof DOMHTMLSelectElement; type DOMHTMLStyleElementClass = typeof DOMHTMLStyleElement; type DOMHTMLTableCaptionElementClass = typeof DOMHTMLTableCaptionElement; type DOMHTMLTableCellElementClass = typeof DOMHTMLTableCellElement; type DOMHTMLTableColElementClass = typeof DOMHTMLTableColElement; type DOMHTMLTableElementClass = typeof DOMHTMLTableElement; type DOMHTMLTableRowElementClass = typeof DOMHTMLTableRowElement; type DOMHTMLTableSectionElementClass = typeof DOMHTMLTableSectionElement; type DOMHTMLTextAreaElementClass = typeof DOMHTMLTextAreaElement; type DOMHTMLTitleElementClass = typeof DOMHTMLTitleElement; type DOMHTMLUListElementClass = typeof DOMHTMLUListElement; type DOMKeyboardEventClass = typeof DOMKeyboardEvent; type DOMMediaListClass = typeof DOMMediaList; type DOMMouseEventClass = typeof DOMMouseEvent; type DOMNamedNodeMapClass = typeof DOMNamedNodeMap; type DOMNodeClass = typeof DOMNode; type DOMNodeFilterIface = typeof DOMNodeFilter; type DOMNodeIteratorClass = typeof DOMNodeIterator; type DOMNodeListClass = typeof DOMNodeList; type DOMObjectClass = typeof DOMObject; type DOMProcessingInstructionClass = typeof DOMProcessingInstruction; type DOMRangeClass = typeof DOMRange; type DOMStyleSheetClass = typeof DOMStyleSheet; type DOMStyleSheetListClass = typeof DOMStyleSheetList; type DOMTextClass = typeof DOMText; type DOMTreeWalkerClass = typeof DOMTreeWalker; type DOMUIEventClass = typeof DOMUIEvent; type DOMWheelEventClass = typeof DOMWheelEvent; type DOMXPathExpressionClass = typeof DOMXPathExpression; type DOMXPathNSResolverIface = typeof DOMXPathNSResolver; type DOMXPathResultClass = typeof DOMXPathResult; type FrameClass = typeof Frame; abstract class FramePrivate { static $gtype: GObject.GType; // Constructors _init(...args: any[]): void; } type HitTestResultClass = typeof HitTestResult; abstract class HitTestResultPrivate { static $gtype: GObject.GType; // Constructors _init(...args: any[]): void; } type ScriptWorldClass = typeof ScriptWorld; abstract class ScriptWorldPrivate { static $gtype: GObject.GType; // Constructors _init(...args: any[]): void; } type URIRequestClass = typeof URIRequest; abstract class URIRequestPrivate { static $gtype: GObject.GType; // Constructors _init(...args: any[]): void; } type URIResponseClass = typeof URIResponse; abstract class URIResponsePrivate { static $gtype: GObject.GType; // Constructors _init(...args: any[]): void; } type UserMessageClass = typeof UserMessage; abstract class UserMessagePrivate { static $gtype: GObject.GType; // Constructors _init(...args: any[]): void; } type WebEditorClass = typeof WebEditor; abstract class WebEditorPrivate { static $gtype: GObject.GType; // Constructors _init(...args: any[]): void; } type WebExtensionClass = typeof WebExtension; abstract class WebExtensionPrivate { static $gtype: GObject.GType; // Constructors _init(...args: any[]): void; } type WebFormManagerClass = typeof WebFormManager; type WebHitTestResultClass = typeof WebHitTestResult; abstract class WebHitTestResultPrivate { static $gtype: GObject.GType; // Constructors _init(...args: any[]): void; } type WebPageClass = typeof WebPage; abstract class WebPagePrivate { static $gtype: GObject.GType; // Constructors _init(...args: any[]): void; } namespace DOMEventTarget { /** * Interface for implementing DOMEventTarget. * Contains only the virtual methods that need to be implemented. */ interface Interface { // Virtual methods vfunc_add_event_listener(event_name: string, handler: GObject.Closure, use_capture: boolean): boolean; vfunc_dispatch_event(event: DOMEvent): boolean; vfunc_remove_event_listener(event_name: string, handler: any | null, use_capture: boolean): boolean; } // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } export interface DOMEventTargetNamespace { $gtype: GObject.GType; prototype: DOMEventTarget; } interface DOMEventTarget extends GObject.Object, DOMEventTarget.Interface { // Methods add_event_listener(event_name: string, handler: GObject.Callback, use_capture: boolean): boolean; /** * Version of webkit_dom_event_target_add_event_listener() using a closure * instead of a callbacks for easier binding in other languages. * @param event_name A #gchar * @param handler A #GClosure * @param use_capture A #gboolean * @returns a #gboolean */ add_event_listener(event_name: string, handler: GObject.Closure, use_capture: boolean): boolean; dispatch_event(event: DOMEvent): boolean; remove_event_listener(event_name: string, handler: any | null, use_capture: boolean): boolean; /** * Version of webkit_dom_event_target_remove_event_listener() using a closure * instead of a callbacks for easier binding in other languages. * @param event_name A #gchar * @param handler A #GClosure * @param use_capture A #gboolean * @returns a #gboolean */ remove_event_listener(event_name: string, handler: GObject.Closure, use_capture: boolean): boolean; } export const DOMEventTarget: DOMEventTargetNamespace & { new (): DOMEventTarget; // This allows `obj instanceof DOMEventTarget` }; namespace DOMNodeFilter { /** * Interface for implementing DOMNodeFilter. * Contains only the virtual methods that need to be implemented. */ interface Interface { // Virtual methods vfunc_accept_node(node: DOMNode): number; } // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } export interface DOMNodeFilterNamespace { $gtype: GObject.GType; prototype: DOMNodeFilter; } interface DOMNodeFilter extends GObject.Object, DOMNodeFilter.Interface { // Methods accept_node(node: DOMNode): number; } export const DOMNodeFilter: DOMNodeFilterNamespace & { new (): DOMNodeFilter; // This allows `obj instanceof DOMNodeFilter` }; namespace DOMXPathNSResolver { /** * Interface for implementing DOMXPathNSResolver. * Contains only the virtual methods that need to be implemented. */ interface Interface { // Virtual methods vfunc_lookup_namespace_uri(prefix: string): string; } // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps {} } export interface DOMXPathNSResolverNamespace { $gtype: GObject.GType; prototype: DOMXPathNSResolver; } interface DOMXPathNSResolver extends GObject.Object, DOMXPathNSResolver.Interface { // Methods lookup_namespace_uri(prefix: string): string; } export const DOMXPathNSResolver: DOMXPathNSResolverNamespace & { new (): DOMXPathNSResolver; // This allows `obj instanceof DOMXPathNSResolver` }; /** * Name of the imported GIR library * `see` https://gitlab.gnome.org/GNOME/gjs/-/blob/master/gi/ns.cpp#L188 */ const __name__: string; /** * Version of the imported GIR library * `see` https://gitlab.gnome.org/GNOME/gjs/-/blob/master/gi/ns.cpp#L189 */ const __version__: string; } export default WebKit2WebExtension; } declare module 'gi://WebKit2WebExtension' { import WebKit2WebExtension40 from 'gi://WebKit2WebExtension?version=4.0'; export default WebKit2WebExtension40; } // END