///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
/**
* 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://Astal?version=4.0' {
// Module dependencies
import type Gio from 'gi://Gio?version=2.0';
import type GObject from 'gi://GObject?version=2.0';
import type GLib from 'gi://GLib?version=2.0';
import type GModule from 'gi://GModule?version=2.0';
import type AstalIO from 'gi://AstalIO?version=0.1';
import type Gdk from 'gi://Gdk?version=4.0';
import type cairo from 'cairo';
import type PangoCairo from 'gi://PangoCairo?version=1.0';
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 Gtk from 'gi://Gtk?version=4.0';
import type Gsk from 'gi://Gsk?version=4.0';
import type Graphene from 'gi://Graphene?version=1.0';
export namespace Astal {
/**
* Astal-4.0
*/
export namespace Exclusivity {
export const $gtype: GObject.GType;
}
enum Exclusivity {
NORMAL,
/**
* Request the compositor to allocate space for this window.
*/
EXCLUSIVE,
/**
* Request the compositor to stack layers on top of each other.
*/
IGNORE,
}
export namespace Layer {
export const $gtype: GObject.GType;
}
enum Layer {
BACKGROUND,
BOTTOM,
TOP,
OVERLAY,
}
export namespace Keymode {
export const $gtype: GObject.GType;
}
enum Keymode {
/**
* Window should not receive keyboard events.
*/
NONE,
/**
* Window should have exclusive focus if it is on the top or overlay layer.
*/
EXCLUSIVE,
/**
* Focus and Unfocues the window as needed.
*/
ON_DEMAND,
}
const MAJOR_VERSION: number;
const MINOR_VERSION: number;
const MICRO_VERSION: number;
const VERSION: string;
export namespace WindowAnchor {
export const $gtype: GObject.GType;
}
enum WindowAnchor {
NONE,
TOP,
RIGHT,
LEFT,
BOTTOM,
}
namespace Bin {
// Signal signatures
interface SignalSignatures extends Gtk.Widget.SignalSignatures {
'notify::child': (pspec: GObject.ParamSpec) => void;
'notify::can-focus': (pspec: GObject.ParamSpec) => void;
'notify::can-target': (pspec: GObject.ParamSpec) => void;
'notify::css-classes': (pspec: GObject.ParamSpec) => void;
'notify::css-name': (pspec: GObject.ParamSpec) => void;
'notify::cursor': (pspec: GObject.ParamSpec) => void;
'notify::focus-on-click': (pspec: GObject.ParamSpec) => void;
'notify::focusable': (pspec: GObject.ParamSpec) => void;
'notify::halign': (pspec: GObject.ParamSpec) => void;
'notify::has-default': (pspec: GObject.ParamSpec) => void;
'notify::has-focus': (pspec: GObject.ParamSpec) => void;
'notify::has-tooltip': (pspec: GObject.ParamSpec) => void;
'notify::height-request': (pspec: GObject.ParamSpec) => void;
'notify::hexpand': (pspec: GObject.ParamSpec) => void;
'notify::hexpand-set': (pspec: GObject.ParamSpec) => void;
'notify::layout-manager': (pspec: GObject.ParamSpec) => void;
'notify::limit-events': (pspec: GObject.ParamSpec) => void;
'notify::margin-bottom': (pspec: GObject.ParamSpec) => void;
'notify::margin-end': (pspec: GObject.ParamSpec) => void;
'notify::margin-start': (pspec: GObject.ParamSpec) => void;
'notify::margin-top': (pspec: GObject.ParamSpec) => void;
'notify::name': (pspec: GObject.ParamSpec) => void;
'notify::opacity': (pspec: GObject.ParamSpec) => void;
'notify::overflow': (pspec: GObject.ParamSpec) => void;
'notify::parent': (pspec: GObject.ParamSpec) => void;
'notify::receives-default': (pspec: GObject.ParamSpec) => void;
'notify::root': (pspec: GObject.ParamSpec) => void;
'notify::scale-factor': (pspec: GObject.ParamSpec) => void;
'notify::sensitive': (pspec: GObject.ParamSpec) => void;
'notify::tooltip-markup': (pspec: GObject.ParamSpec) => void;
'notify::tooltip-text': (pspec: GObject.ParamSpec) => void;
'notify::valign': (pspec: GObject.ParamSpec) => void;
'notify::vexpand': (pspec: GObject.ParamSpec) => void;
'notify::vexpand-set': (pspec: GObject.ParamSpec) => void;
'notify::visible': (pspec: GObject.ParamSpec) => void;
'notify::width-request': (pspec: GObject.ParamSpec) => void;
}
// Constructor properties interface
interface ConstructorProps extends Gtk.Widget.ConstructorProps, Gtk.Buildable.ConstructorProps {
child: Gtk.Widget;
}
}
/**
* A widget with one child. It is useful for deriving subclasses, since it provides common code needed for handling a single child widget.
*/
class Bin extends Gtk.Widget implements Gtk.Buildable {
static $gtype: GObject.GType;
// Properties
get child(): Gtk.Widget;
set child(val: Gtk.Widget);
/**
* 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: Bin.SignalSignatures;
// Constructors
constructor(properties?: Partial, ...args: any[]);
_init(...args: any[]): void;
static ['new'](): Bin;
// 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(): Gtk.Widget | null;
set_child(value?: Gtk.Widget | null): void;
// Inherited methods
/**
* Gets the ID of the `buildable` object.
*
* `GtkBuilder` sets the name based on the ID attribute
* of the `