///
///
///
///
/**
* 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://AstalWp?version=0.1' {
// Module dependencies
import type Gio from 'gi://Gio?version=2.0';
import type GObject from 'gi://GObject?version=2.0';
import type GLib from 'gi://GLib?version=2.0';
import type GModule from 'gi://GModule?version=2.0';
export namespace AstalWp {
/**
* AstalWp-0.1
*/
export namespace DeviceType {
export const $gtype: GObject.GType;
}
enum DeviceType {
AUDIO,
VIDEO,
}
export namespace MediaClass {
export const $gtype: GObject.GType;
}
enum MediaClass {
AUDIO_MICROPHONE,
AUDIO_SPEAKER,
AUDIO_RECORDER,
AUDIO_STREAM,
VIDEO_SOURCE,
VIDEO_SINK,
VIDEO_RECORDER,
VIDEO_STREAM,
}
export namespace Scale {
export const $gtype: GObject.GType;
}
enum Scale {
LINEAR,
CUBIC,
}
const MAJOR_VERSION: number;
const MICRO_VERSION: number;
const MINOR_VERSION: number;
const VERSION: string;
/**
* gets the default wireplumber object.
* @returns gets the default wireplumber object.
*/
function get_default(): Wp | null;
namespace Audio {
// Signal callback interfaces
interface DeviceAdded {
(object: Device): void;
}
interface DeviceRemoved {
(object: Device): void;
}
interface MicrophoneAdded {
(object: Endpoint): void;
}
interface MicrophoneRemoved {
(object: Endpoint): void;
}
interface RecorderAdded {
(object: Endpoint): void;
}
interface RecorderRemoved {
(object: Endpoint): void;
}
interface SpeakerAdded {
(object: Endpoint): void;
}
interface SpeakerRemoved {
(object: Endpoint): void;
}
interface StreamAdded {
(object: Endpoint): void;
}
interface StreamRemoved {
(object: Endpoint): void;
}
// Constructor properties interface
interface ConstructorProps extends GObject.Object.ConstructorProps {
default_microphone: Endpoint;
defaultMicrophone: Endpoint;
default_speaker: Endpoint;
defaultSpeaker: Endpoint;
devices: Device[];
microphones: Endpoint[];
recorders: Endpoint[];
speakers: Endpoint[];
streams: Endpoint[];
}
}
/**
* is instanciated by [class`AstalWp`.Wp]. An instance of class can only be received there.
*
* This is a convinience class and acts as a filter for [class`AstalWp`.Wp] to filter for audio
* endpoints and devices.
*/
class Audio extends GObject.Object {
static $gtype: GObject.GType