/* application.h generated by valac 0.56.17, the Vala compiler, do not modify */

#ifndef __APPLICATION_H__
#define __APPLICATION_H__

#include <gtk/gtk.h>
#include <glib-object.h>
#include <gio/gio.h>
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <cairo-gobject.h>

G_BEGIN_DECLS

#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif

#define PEEK_TYPE_APPLICATION (peek_application_get_type ())
#define PEEK_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PEEK_TYPE_APPLICATION, PeekApplication))
#define PEEK_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PEEK_TYPE_APPLICATION, PeekApplicationClass))
#define PEEK_IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PEEK_TYPE_APPLICATION))
#define PEEK_IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PEEK_TYPE_APPLICATION))
#define PEEK_APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PEEK_TYPE_APPLICATION, PeekApplicationClass))

typedef struct _PeekApplication PeekApplication;
typedef struct _PeekApplicationClass PeekApplicationClass;
typedef struct _PeekApplicationPrivate PeekApplicationPrivate;

#define PEEK_TYPE_DESKTOP_INTEGRATION (peek_desktop_integration_get_type ())
#define PEEK_DESKTOP_INTEGRATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PEEK_TYPE_DESKTOP_INTEGRATION, PeekDesktopIntegration))
#define PEEK_DESKTOP_INTEGRATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PEEK_TYPE_DESKTOP_INTEGRATION, PeekDesktopIntegrationClass))
#define PEEK_IS_DESKTOP_INTEGRATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PEEK_TYPE_DESKTOP_INTEGRATION))
#define PEEK_IS_DESKTOP_INTEGRATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PEEK_TYPE_DESKTOP_INTEGRATION))
#define PEEK_DESKTOP_INTEGRATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PEEK_TYPE_DESKTOP_INTEGRATION, PeekDesktopIntegrationClass))

typedef struct _PeekDesktopIntegration PeekDesktopIntegration;
typedef struct _PeekDesktopIntegrationClass PeekDesktopIntegrationClass;
typedef struct _PeekDesktopIntegrationPrivate PeekDesktopIntegrationPrivate;
typedef enum  {
	PEEK_OUTPUT_FORMAT_APNG,
	PEEK_OUTPUT_FORMAT_GIF,
	PEEK_OUTPUT_FORMAT_MP4,
	PEEK_OUTPUT_FORMAT_WEBM
} PeekOutputFormat;

#define PEEK_TYPE_OUTPUT_FORMAT (peek_output_format_get_type ())

#define PEEK_TYPE_PEEK_ERROR (peek_peek_error_get_type ())

#define PEEK_TYPE_RECORDING_ERROR (peek_recording_error_get_type ())

#define PEEK_TYPE_GTK_HELPER (peek_gtk_helper_get_type ())
#define PEEK_GTK_HELPER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PEEK_TYPE_GTK_HELPER, PeekGtkHelper))
#define PEEK_GTK_HELPER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PEEK_TYPE_GTK_HELPER, PeekGtkHelperClass))
#define PEEK_IS_GTK_HELPER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PEEK_TYPE_GTK_HELPER))
#define PEEK_IS_GTK_HELPER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PEEK_TYPE_GTK_HELPER))
#define PEEK_GTK_HELPER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PEEK_TYPE_GTK_HELPER, PeekGtkHelperClass))

typedef struct _PeekGtkHelper PeekGtkHelper;
typedef struct _PeekGtkHelperClass PeekGtkHelperClass;
typedef struct _PeekGtkHelperPrivate PeekGtkHelperPrivate;

#define PEEK_TYPE_UTILS (peek_utils_get_type ())
#define PEEK_UTILS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PEEK_TYPE_UTILS, PeekUtils))
#define PEEK_UTILS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PEEK_TYPE_UTILS, PeekUtilsClass))
#define PEEK_IS_UTILS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PEEK_TYPE_UTILS))
#define PEEK_IS_UTILS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PEEK_TYPE_UTILS))
#define PEEK_UTILS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PEEK_TYPE_UTILS, PeekUtilsClass))

typedef struct _PeekUtils PeekUtils;
typedef struct _PeekUtilsClass PeekUtilsClass;
typedef struct _PeekUtilsPrivate PeekUtilsPrivate;

#define FREEDESKTOP_TYPE_DBUS (freedesktop_dbus_get_type ())
#define FREEDESKTOP_DBUS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FREEDESKTOP_TYPE_DBUS, FreedesktopDBus))
#define FREEDESKTOP_IS_DBUS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FREEDESKTOP_TYPE_DBUS))
#define FREEDESKTOP_DBUS_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), FREEDESKTOP_TYPE_DBUS, FreedesktopDBusIface))

typedef struct _FreedesktopDBus FreedesktopDBus;
typedef struct _FreedesktopDBusIface FreedesktopDBusIface;

#define FREEDESKTOP_TYPE_DBUS_PROXY (freedesktop_dbus_proxy_get_type ())

#define FREEDESKTOP_TYPE_FILE_MANAGER1 (freedesktop_file_manager1_get_type ())
#define FREEDESKTOP_FILE_MANAGER1(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FREEDESKTOP_TYPE_FILE_MANAGER1, FreedesktopFileManager1))
#define FREEDESKTOP_IS_FILE_MANAGER1(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FREEDESKTOP_TYPE_FILE_MANAGER1))
#define FREEDESKTOP_FILE_MANAGER1_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), FREEDESKTOP_TYPE_FILE_MANAGER1, FreedesktopFileManager1Iface))

typedef struct _FreedesktopFileManager1 FreedesktopFileManager1;
typedef struct _FreedesktopFileManager1Iface FreedesktopFileManager1Iface;

#define FREEDESKTOP_TYPE_FILE_MANAGER1_PROXY (freedesktop_file_manager1_proxy_get_type ())

#define GNOME_SHELL_TYPE_SCREENCAST (gnome_shell_screencast_get_type ())
#define GNOME_SHELL_SCREENCAST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_SHELL_TYPE_SCREENCAST, GnomeShellScreencast))
#define GNOME_SHELL_IS_SCREENCAST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_SHELL_TYPE_SCREENCAST))
#define GNOME_SHELL_SCREENCAST_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GNOME_SHELL_TYPE_SCREENCAST, GnomeShellScreencastIface))

typedef struct _GnomeShellScreencast GnomeShellScreencast;
typedef struct _GnomeShellScreencastIface GnomeShellScreencastIface;

#define GNOME_SHELL_TYPE_SCREENCAST_PROXY (gnome_shell_screencast_proxy_get_type ())

#define PEEK_POST_PROCESSING_TYPE_POST_PROCESSOR (peek_post_processing_post_processor_get_type ())
#define PEEK_POST_PROCESSING_POST_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PEEK_POST_PROCESSING_TYPE_POST_PROCESSOR, PeekPostProcessingPostProcessor))
#define PEEK_POST_PROCESSING_IS_POST_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PEEK_POST_PROCESSING_TYPE_POST_PROCESSOR))
#define PEEK_POST_PROCESSING_POST_PROCESSOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), PEEK_POST_PROCESSING_TYPE_POST_PROCESSOR, PeekPostProcessingPostProcessorIface))

typedef struct _PeekPostProcessingPostProcessor PeekPostProcessingPostProcessor;
typedef struct _PeekPostProcessingPostProcessorIface PeekPostProcessingPostProcessorIface;

#define PEEK_POST_PROCESSING_TYPE_CLI_POST_PROCESSOR (peek_post_processing_cli_post_processor_get_type ())
#define PEEK_POST_PROCESSING_CLI_POST_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PEEK_POST_PROCESSING_TYPE_CLI_POST_PROCESSOR, PeekPostProcessingCliPostProcessor))
#define PEEK_POST_PROCESSING_CLI_POST_PROCESSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PEEK_POST_PROCESSING_TYPE_CLI_POST_PROCESSOR, PeekPostProcessingCliPostProcessorClass))
#define PEEK_POST_PROCESSING_IS_CLI_POST_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PEEK_POST_PROCESSING_TYPE_CLI_POST_PROCESSOR))
#define PEEK_POST_PROCESSING_IS_CLI_POST_PROCESSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PEEK_POST_PROCESSING_TYPE_CLI_POST_PROCESSOR))
#define PEEK_POST_PROCESSING_CLI_POST_PROCESSOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PEEK_POST_PROCESSING_TYPE_CLI_POST_PROCESSOR, PeekPostProcessingCliPostProcessorClass))

typedef struct _PeekPostProcessingCliPostProcessor PeekPostProcessingCliPostProcessor;
typedef struct _PeekPostProcessingCliPostProcessorClass PeekPostProcessingCliPostProcessorClass;
typedef struct _PeekPostProcessingCliPostProcessorPrivate PeekPostProcessingCliPostProcessorPrivate;

#define PEEK_POST_PROCESSING_TYPE_EXTRACT_FRAMES_POST_PROCESSOR (peek_post_processing_extract_frames_post_processor_get_type ())
#define PEEK_POST_PROCESSING_EXTRACT_FRAMES_POST_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PEEK_POST_PROCESSING_TYPE_EXTRACT_FRAMES_POST_PROCESSOR, PeekPostProcessingExtractFramesPostProcessor))
#define PEEK_POST_PROCESSING_EXTRACT_FRAMES_POST_PROCESSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PEEK_POST_PROCESSING_TYPE_EXTRACT_FRAMES_POST_PROCESSOR, PeekPostProcessingExtractFramesPostProcessorClass))
#define PEEK_POST_PROCESSING_IS_EXTRACT_FRAMES_POST_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PEEK_POST_PROCESSING_TYPE_EXTRACT_FRAMES_POST_PROCESSOR))
#define PEEK_POST_PROCESSING_IS_EXTRACT_FRAMES_POST_PROCESSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PEEK_POST_PROCESSING_TYPE_EXTRACT_FRAMES_POST_PROCESSOR))
#define PEEK_POST_PROCESSING_EXTRACT_FRAMES_POST_PROCESSOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PEEK_POST_PROCESSING_TYPE_EXTRACT_FRAMES_POST_PROCESSOR, PeekPostProcessingExtractFramesPostProcessorClass))

typedef struct _PeekPostProcessingExtractFramesPostProcessor PeekPostProcessingExtractFramesPostProcessor;
typedef struct _PeekPostProcessingExtractFramesPostProcessorClass PeekPostProcessingExtractFramesPostProcessorClass;
typedef struct _PeekPostProcessingExtractFramesPostProcessorPrivate PeekPostProcessingExtractFramesPostProcessorPrivate;

#define PEEK_POST_PROCESSING_TYPE_FFMPEG_POST_PROCESSOR (peek_post_processing_ffmpeg_post_processor_get_type ())
#define PEEK_POST_PROCESSING_FFMPEG_POST_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PEEK_POST_PROCESSING_TYPE_FFMPEG_POST_PROCESSOR, PeekPostProcessingFfmpegPostProcessor))
#define PEEK_POST_PROCESSING_FFMPEG_POST_PROCESSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PEEK_POST_PROCESSING_TYPE_FFMPEG_POST_PROCESSOR, PeekPostProcessingFfmpegPostProcessorClass))
#define PEEK_POST_PROCESSING_IS_FFMPEG_POST_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PEEK_POST_PROCESSING_TYPE_FFMPEG_POST_PROCESSOR))
#define PEEK_POST_PROCESSING_IS_FFMPEG_POST_PROCESSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PEEK_POST_PROCESSING_TYPE_FFMPEG_POST_PROCESSOR))
#define PEEK_POST_PROCESSING_FFMPEG_POST_PROCESSOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PEEK_POST_PROCESSING_TYPE_FFMPEG_POST_PROCESSOR, PeekPostProcessingFfmpegPostProcessorClass))

typedef struct _PeekPostProcessingFfmpegPostProcessor PeekPostProcessingFfmpegPostProcessor;
typedef struct _PeekPostProcessingFfmpegPostProcessorClass PeekPostProcessingFfmpegPostProcessorClass;
typedef struct _PeekPostProcessingFfmpegPostProcessorPrivate PeekPostProcessingFfmpegPostProcessorPrivate;

#define PEEK_RECORDING_TYPE_RECORDING_CONFIG (peek_recording_recording_config_get_type ())
#define PEEK_RECORDING_RECORDING_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PEEK_RECORDING_TYPE_RECORDING_CONFIG, PeekRecordingRecordingConfig))
#define PEEK_RECORDING_RECORDING_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PEEK_RECORDING_TYPE_RECORDING_CONFIG, PeekRecordingRecordingConfigClass))
#define PEEK_RECORDING_IS_RECORDING_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PEEK_RECORDING_TYPE_RECORDING_CONFIG))
#define PEEK_RECORDING_IS_RECORDING_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PEEK_RECORDING_TYPE_RECORDING_CONFIG))
#define PEEK_RECORDING_RECORDING_CONFIG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PEEK_RECORDING_TYPE_RECORDING_CONFIG, PeekRecordingRecordingConfigClass))

typedef struct _PeekRecordingRecordingConfig PeekRecordingRecordingConfig;
typedef struct _PeekRecordingRecordingConfigClass PeekRecordingRecordingConfigClass;

#define PEEK_POST_PROCESSING_TYPE_GIFSKI_POST_PROCESSOR (peek_post_processing_gifski_post_processor_get_type ())
#define PEEK_POST_PROCESSING_GIFSKI_POST_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PEEK_POST_PROCESSING_TYPE_GIFSKI_POST_PROCESSOR, PeekPostProcessingGifskiPostProcessor))
#define PEEK_POST_PROCESSING_GIFSKI_POST_PROCESSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PEEK_POST_PROCESSING_TYPE_GIFSKI_POST_PROCESSOR, PeekPostProcessingGifskiPostProcessorClass))
#define PEEK_POST_PROCESSING_IS_GIFSKI_POST_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PEEK_POST_PROCESSING_TYPE_GIFSKI_POST_PROCESSOR))
#define PEEK_POST_PROCESSING_IS_GIFSKI_POST_PROCESSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PEEK_POST_PROCESSING_TYPE_GIFSKI_POST_PROCESSOR))
#define PEEK_POST_PROCESSING_GIFSKI_POST_PROCESSOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PEEK_POST_PROCESSING_TYPE_GIFSKI_POST_PROCESSOR, PeekPostProcessingGifskiPostProcessorClass))

typedef struct _PeekPostProcessingGifskiPostProcessor PeekPostProcessingGifskiPostProcessor;
typedef struct _PeekPostProcessingGifskiPostProcessorClass PeekPostProcessingGifskiPostProcessorClass;
typedef struct _PeekPostProcessingGifskiPostProcessorPrivate PeekPostProcessingGifskiPostProcessorPrivate;

#define PEEK_POST_PROCESSING_TYPE_POST_PROCESSING_PIPELINE (peek_post_processing_post_processing_pipeline_get_type ())
#define PEEK_POST_PROCESSING_POST_PROCESSING_PIPELINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PEEK_POST_PROCESSING_TYPE_POST_PROCESSING_PIPELINE, PeekPostProcessingPostProcessingPipeline))
#define PEEK_POST_PROCESSING_POST_PROCESSING_PIPELINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PEEK_POST_PROCESSING_TYPE_POST_PROCESSING_PIPELINE, PeekPostProcessingPostProcessingPipelineClass))
#define PEEK_POST_PROCESSING_IS_POST_PROCESSING_PIPELINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PEEK_POST_PROCESSING_TYPE_POST_PROCESSING_PIPELINE))
#define PEEK_POST_PROCESSING_IS_POST_PROCESSING_PIPELINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PEEK_POST_PROCESSING_TYPE_POST_PROCESSING_PIPELINE))
#define PEEK_POST_PROCESSING_POST_PROCESSING_PIPELINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PEEK_POST_PROCESSING_TYPE_POST_PROCESSING_PIPELINE, PeekPostProcessingPostProcessingPipelineClass))

typedef struct _PeekPostProcessingPostProcessingPipeline PeekPostProcessingPostProcessingPipeline;
typedef struct _PeekPostProcessingPostProcessingPipelineClass PeekPostProcessingPostProcessingPipelineClass;
typedef struct _PeekPostProcessingPostProcessingPipelinePrivate PeekPostProcessingPostProcessingPipelinePrivate;

#define PEEK_RECORDING_TYPE_SCREEN_RECORDER (peek_recording_screen_recorder_get_type ())
#define PEEK_RECORDING_SCREEN_RECORDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PEEK_RECORDING_TYPE_SCREEN_RECORDER, PeekRecordingScreenRecorder))
#define PEEK_RECORDING_IS_SCREEN_RECORDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PEEK_RECORDING_TYPE_SCREEN_RECORDER))
#define PEEK_RECORDING_SCREEN_RECORDER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), PEEK_RECORDING_TYPE_SCREEN_RECORDER, PeekRecordingScreenRecorderIface))

typedef struct _PeekRecordingScreenRecorder PeekRecordingScreenRecorder;
typedef struct _PeekRecordingScreenRecorderIface PeekRecordingScreenRecorderIface;

#define PEEK_RECORDING_TYPE_RECORDING_AREA (peek_recording_recording_area_get_type ())
typedef struct _PeekRecordingRecordingArea PeekRecordingRecordingArea;

#define PEEK_RECORDING_TYPE_BASE_SCREEN_RECORDER (peek_recording_base_screen_recorder_get_type ())
#define PEEK_RECORDING_BASE_SCREEN_RECORDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PEEK_RECORDING_TYPE_BASE_SCREEN_RECORDER, PeekRecordingBaseScreenRecorder))
#define PEEK_RECORDING_BASE_SCREEN_RECORDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PEEK_RECORDING_TYPE_BASE_SCREEN_RECORDER, PeekRecordingBaseScreenRecorderClass))
#define PEEK_RECORDING_IS_BASE_SCREEN_RECORDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PEEK_RECORDING_TYPE_BASE_SCREEN_RECORDER))
#define PEEK_RECORDING_IS_BASE_SCREEN_RECORDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PEEK_RECORDING_TYPE_BASE_SCREEN_RECORDER))
#define PEEK_RECORDING_BASE_SCREEN_RECORDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PEEK_RECORDING_TYPE_BASE_SCREEN_RECORDER, PeekRecordingBaseScreenRecorderClass))

typedef struct _PeekRecordingBaseScreenRecorder PeekRecordingBaseScreenRecorder;
typedef struct _PeekRecordingBaseScreenRecorderClass PeekRecordingBaseScreenRecorderClass;
typedef struct _PeekRecordingBaseScreenRecorderPrivate PeekRecordingBaseScreenRecorderPrivate;

#define PEEK_RECORDING_TYPE_CLI_SCREEN_RECORDER (peek_recording_cli_screen_recorder_get_type ())
#define PEEK_RECORDING_CLI_SCREEN_RECORDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PEEK_RECORDING_TYPE_CLI_SCREEN_RECORDER, PeekRecordingCliScreenRecorder))
#define PEEK_RECORDING_CLI_SCREEN_RECORDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PEEK_RECORDING_TYPE_CLI_SCREEN_RECORDER, PeekRecordingCliScreenRecorderClass))
#define PEEK_RECORDING_IS_CLI_SCREEN_RECORDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PEEK_RECORDING_TYPE_CLI_SCREEN_RECORDER))
#define PEEK_RECORDING_IS_CLI_SCREEN_RECORDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PEEK_RECORDING_TYPE_CLI_SCREEN_RECORDER))
#define PEEK_RECORDING_CLI_SCREEN_RECORDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PEEK_RECORDING_TYPE_CLI_SCREEN_RECORDER, PeekRecordingCliScreenRecorderClass))

typedef struct _PeekRecordingCliScreenRecorder PeekRecordingCliScreenRecorder;
typedef struct _PeekRecordingCliScreenRecorderClass PeekRecordingCliScreenRecorderClass;
typedef struct _PeekRecordingCliScreenRecorderPrivate PeekRecordingCliScreenRecorderPrivate;

#define PEEK_RECORDING_TYPE_FFMPEG_SCREEN_RECORDER (peek_recording_ffmpeg_screen_recorder_get_type ())
#define PEEK_RECORDING_FFMPEG_SCREEN_RECORDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PEEK_RECORDING_TYPE_FFMPEG_SCREEN_RECORDER, PeekRecordingFfmpegScreenRecorder))
#define PEEK_RECORDING_FFMPEG_SCREEN_RECORDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PEEK_RECORDING_TYPE_FFMPEG_SCREEN_RECORDER, PeekRecordingFfmpegScreenRecorderClass))
#define PEEK_RECORDING_IS_FFMPEG_SCREEN_RECORDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PEEK_RECORDING_TYPE_FFMPEG_SCREEN_RECORDER))
#define PEEK_RECORDING_IS_FFMPEG_SCREEN_RECORDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PEEK_RECORDING_TYPE_FFMPEG_SCREEN_RECORDER))
#define PEEK_RECORDING_FFMPEG_SCREEN_RECORDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PEEK_RECORDING_TYPE_FFMPEG_SCREEN_RECORDER, PeekRecordingFfmpegScreenRecorderClass))

typedef struct _PeekRecordingFfmpegScreenRecorder PeekRecordingFfmpegScreenRecorder;
typedef struct _PeekRecordingFfmpegScreenRecorderClass PeekRecordingFfmpegScreenRecorderClass;
typedef struct _PeekRecordingFfmpegScreenRecorderPrivate PeekRecordingFfmpegScreenRecorderPrivate;

#define PEEK_RECORDING_TYPE_GNOME_SHELL_DBUS_RECORDER (peek_recording_gnome_shell_dbus_recorder_get_type ())
#define PEEK_RECORDING_GNOME_SHELL_DBUS_RECORDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PEEK_RECORDING_TYPE_GNOME_SHELL_DBUS_RECORDER, PeekRecordingGnomeShellDbusRecorder))
#define PEEK_RECORDING_GNOME_SHELL_DBUS_RECORDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PEEK_RECORDING_TYPE_GNOME_SHELL_DBUS_RECORDER, PeekRecordingGnomeShellDbusRecorderClass))
#define PEEK_RECORDING_IS_GNOME_SHELL_DBUS_RECORDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PEEK_RECORDING_TYPE_GNOME_SHELL_DBUS_RECORDER))
#define PEEK_RECORDING_IS_GNOME_SHELL_DBUS_RECORDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PEEK_RECORDING_TYPE_GNOME_SHELL_DBUS_RECORDER))
#define PEEK_RECORDING_GNOME_SHELL_DBUS_RECORDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PEEK_RECORDING_TYPE_GNOME_SHELL_DBUS_RECORDER, PeekRecordingGnomeShellDbusRecorderClass))

typedef struct _PeekRecordingGnomeShellDbusRecorder PeekRecordingGnomeShellDbusRecorder;
typedef struct _PeekRecordingGnomeShellDbusRecorderClass PeekRecordingGnomeShellDbusRecorderClass;
typedef struct _PeekRecordingGnomeShellDbusRecorderPrivate PeekRecordingGnomeShellDbusRecorderPrivate;
typedef struct _PeekRecordingRecordingConfigPrivate PeekRecordingRecordingConfigPrivate;

#define PEEK_RECORDING_TYPE_SCREEN_RECORDER_FACTORY (peek_recording_screen_recorder_factory_get_type ())
#define PEEK_RECORDING_SCREEN_RECORDER_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PEEK_RECORDING_TYPE_SCREEN_RECORDER_FACTORY, PeekRecordingScreenRecorderFactory))
#define PEEK_RECORDING_SCREEN_RECORDER_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PEEK_RECORDING_TYPE_SCREEN_RECORDER_FACTORY, PeekRecordingScreenRecorderFactoryClass))
#define PEEK_RECORDING_IS_SCREEN_RECORDER_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PEEK_RECORDING_TYPE_SCREEN_RECORDER_FACTORY))
#define PEEK_RECORDING_IS_SCREEN_RECORDER_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PEEK_RECORDING_TYPE_SCREEN_RECORDER_FACTORY))
#define PEEK_RECORDING_SCREEN_RECORDER_FACTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PEEK_RECORDING_TYPE_SCREEN_RECORDER_FACTORY, PeekRecordingScreenRecorderFactoryClass))

typedef struct _PeekRecordingScreenRecorderFactory PeekRecordingScreenRecorderFactory;
typedef struct _PeekRecordingScreenRecorderFactoryClass PeekRecordingScreenRecorderFactoryClass;
typedef struct _PeekRecordingScreenRecorderFactoryPrivate PeekRecordingScreenRecorderFactoryPrivate;

struct _PeekApplication {
	GtkApplication parent_instance;
	PeekApplicationPrivate * priv;
};

struct _PeekApplicationClass {
	GtkApplicationClass parent_class;
};

struct _PeekDesktopIntegration {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PeekDesktopIntegrationPrivate * priv;
};

struct _PeekDesktopIntegrationClass {
	GTypeClass parent_class;
	void (*finalize) (PeekDesktopIntegration *self);
};

typedef enum  {
	PEEK_PEEK_ERROR_UNKNOWN_SCREEN_RECORDER,
	PEEK_PEEK_ERROR_NO_SUITABLE_SCREEN_RECORDER,
	PEEK_PEEK_ERROR_SCREEN_RECORDER_ERROR
} PeekPeekError;
#define PEEK_PEEK_ERROR peek_peek_error_quark ()

typedef enum  {
	PEEK_RECORDING_ERROR_INITIALIZING_RECORDING_FAILED,
	PEEK_RECORDING_ERROR_RECORDING_ABORTED,
	PEEK_RECORDING_ERROR_POSTPROCESSING_ABORTED
} PeekRecordingError;
#define PEEK_RECORDING_ERROR peek_recording_error_quark ()

struct _PeekGtkHelper {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PeekGtkHelperPrivate * priv;
};

struct _PeekGtkHelperClass {
	GTypeClass parent_class;
	void (*finalize) (PeekGtkHelper *self);
};

struct _PeekUtils {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PeekUtilsPrivate * priv;
};

struct _PeekUtilsClass {
	GTypeClass parent_class;
	void (*finalize) (PeekUtils *self);
};

struct _FreedesktopDBusIface {
	GTypeInterface parent_iface;
	gchar* (*hello) (FreedesktopDBus* self, GError** error);
	guint (*request_name) (FreedesktopDBus* self, const gchar* param0, guint param1, GError** error);
	guint (*release_name) (FreedesktopDBus* self, const gchar* param0, GError** error);
	guint (*start_service_by_name) (FreedesktopDBus* self, const gchar* param0, guint param1, GError** error);
	void (*update_activation_environment) (FreedesktopDBus* self, GHashTable* param0, GError** error);
	gboolean (*name_has_owner) (FreedesktopDBus* self, const gchar* param0, GError** error);
	gchar** (*list_names) (FreedesktopDBus* self, gint* result_length1, GError** error);
	gchar** (*list_activatable_names) (FreedesktopDBus* self, gint* result_length1, GError** error);
	void (*add_match) (FreedesktopDBus* self, const gchar* param0, GError** error);
	void (*remove_match) (FreedesktopDBus* self, const gchar* param0, GError** error);
	gchar* (*get_name_owner) (FreedesktopDBus* self, const gchar* param0, GError** error);
	gchar** (*list_queued_owners) (FreedesktopDBus* self, const gchar* param0, gint* result_length1, GError** error);
	guint (*get_connection_unix_user) (FreedesktopDBus* self, const gchar* param0, GError** error);
	guint (*get_connection_unix_process_i_d) (FreedesktopDBus* self, const gchar* param0, GError** error);
	guint8* (*get_adt_audit_session_data) (FreedesktopDBus* self, const gchar* param0, gint* result_length1, GError** error);
	guint8* (*get_connection_s_e_linux_security_context) (FreedesktopDBus* self, const gchar* param0, gint* result_length1, GError** error);
	void (*reload_config) (FreedesktopDBus* self, GError** error);
	gchar* (*get_id) (FreedesktopDBus* self, GError** error);
	GHashTable* (*get_connection_credentials) (FreedesktopDBus* self, const gchar* param0, GError** error);
	gchar** (*get_features) (FreedesktopDBus* self, gint* result_length1);
	gchar** (*get_interfaces) (FreedesktopDBus* self, gint* result_length1);
};

struct _FreedesktopFileManager1Iface {
	GTypeInterface parent_iface;
	void (*show_folders) (FreedesktopFileManager1* self, gchar** URIs, gint URIs_length1, const gchar* StartupId, GError** error);
	void (*show_items) (FreedesktopFileManager1* self, gchar** URIs, gint URIs_length1, const gchar* StartupId, GError** error);
	void (*show_item_properties) (FreedesktopFileManager1* self, gchar** URIs, gint URIs_length1, const gchar* StartupId, GError** error);
};

struct _GnomeShellScreencastIface {
	GTypeInterface parent_iface;
	void (*screencast) (GnomeShellScreencast* self, const gchar* file_template, GHashTable* options, gboolean* success, gchar** filename_used, GError** error);
	void (*screencast_area) (GnomeShellScreencast* self, gint x, gint y, gint width, gint height, const gchar* file_template, GHashTable* options, gboolean* success, gchar** filename_used, GError** error);
	gboolean (*stop_screencast) (GnomeShellScreencast* self, GError** error);
};

struct _PeekPostProcessingPostProcessorIface {
	GTypeInterface parent_iface;
	void (*process_async) (PeekPostProcessingPostProcessor* self, GArray* files, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GArray* (*process_finish) (PeekPostProcessingPostProcessor* self, GAsyncResult* _res_, GError** error);
	void (*cancel) (PeekPostProcessingPostProcessor* self);
};

struct _PeekPostProcessingCliPostProcessor {
	GObject parent_instance;
	PeekPostProcessingCliPostProcessorPrivate * priv;
};

struct _PeekPostProcessingCliPostProcessorClass {
	GObjectClass parent_class;
	void (*process_async) (PeekPostProcessingCliPostProcessor* self, GArray* files, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GArray* (*process_finish) (PeekPostProcessingCliPostProcessor* self, GAsyncResult* _res_, GError** error);
};

struct _PeekPostProcessingExtractFramesPostProcessor {
	PeekPostProcessingCliPostProcessor parent_instance;
	PeekPostProcessingExtractFramesPostProcessorPrivate * priv;
};

struct _PeekPostProcessingExtractFramesPostProcessorClass {
	PeekPostProcessingCliPostProcessorClass parent_class;
};

struct _PeekPostProcessingFfmpegPostProcessor {
	PeekPostProcessingCliPostProcessor parent_instance;
	PeekPostProcessingFfmpegPostProcessorPrivate * priv;
};

struct _PeekPostProcessingFfmpegPostProcessorClass {
	PeekPostProcessingCliPostProcessorClass parent_class;
};

struct _PeekPostProcessingGifskiPostProcessor {
	PeekPostProcessingCliPostProcessor parent_instance;
	PeekPostProcessingGifskiPostProcessorPrivate * priv;
};

struct _PeekPostProcessingGifskiPostProcessorClass {
	PeekPostProcessingCliPostProcessorClass parent_class;
};

struct _PeekPostProcessingPostProcessingPipeline {
	GObject parent_instance;
	PeekPostProcessingPostProcessingPipelinePrivate * priv;
};

struct _PeekPostProcessingPostProcessingPipelineClass {
	GObjectClass parent_class;
};

struct _PeekRecordingRecordingArea {
	gint left;
	gint top;
	gint width;
	gint height;
	GtkWidget* widget;
};

struct _PeekRecordingScreenRecorderIface {
	GTypeInterface parent_iface;
	void (*record) (PeekRecordingScreenRecorder* self, PeekRecordingRecordingArea* area, GError** error);
	void (*stop) (PeekRecordingScreenRecorder* self);
	void (*cancel) (PeekRecordingScreenRecorder* self);
	gboolean (*get_is_recording) (PeekRecordingScreenRecorder* self);
	void (*set_is_recording) (PeekRecordingScreenRecorder* self, gboolean value);
	PeekRecordingRecordingConfig* (*get_config) (PeekRecordingScreenRecorder* self);
	void (*set_config) (PeekRecordingScreenRecorder* self, PeekRecordingRecordingConfig* value);
	gint64 (*get_elapsed_seconds) (PeekRecordingScreenRecorder* self);
};

struct _PeekRecordingBaseScreenRecorder {
	GObject parent_instance;
	PeekRecordingBaseScreenRecorderPrivate * priv;
	gchar* temp_file;
};

struct _PeekRecordingBaseScreenRecorderClass {
	GObjectClass parent_class;
	void (*start_recording) (PeekRecordingBaseScreenRecorder* self, PeekRecordingRecordingArea* area, GError** error);
	void (*stop_recording) (PeekRecordingBaseScreenRecorder* self);
	PeekPostProcessingPostProcessingPipeline* (*build_post_processor_pipeline) (PeekRecordingBaseScreenRecorder* self);
};

struct _PeekRecordingCliScreenRecorder {
	PeekRecordingBaseScreenRecorder parent_instance;
	PeekRecordingCliScreenRecorderPrivate * priv;
	GSubprocess* subprocess;
	GOutputStream* input;
};

struct _PeekRecordingCliScreenRecorderClass {
	PeekRecordingBaseScreenRecorderClass parent_class;
	gboolean (*is_exit_status_success) (PeekRecordingCliScreenRecorder* self, gint status);
};

struct _PeekRecordingFfmpegScreenRecorder {
	PeekRecordingCliScreenRecorder parent_instance;
	PeekRecordingFfmpegScreenRecorderPrivate * priv;
};

struct _PeekRecordingFfmpegScreenRecorderClass {
	PeekRecordingCliScreenRecorderClass parent_class;
};

struct _PeekRecordingGnomeShellDbusRecorder {
	PeekRecordingBaseScreenRecorder parent_instance;
	PeekRecordingGnomeShellDbusRecorderPrivate * priv;
};

struct _PeekRecordingGnomeShellDbusRecorderClass {
	PeekRecordingBaseScreenRecorderClass parent_class;
};

struct _PeekRecordingRecordingConfig {
	GObject parent_instance;
	PeekRecordingRecordingConfigPrivate * priv;
};

struct _PeekRecordingRecordingConfigClass {
	GObjectClass parent_class;
};

struct _PeekRecordingScreenRecorderFactory {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PeekRecordingScreenRecorderFactoryPrivate * priv;
};

struct _PeekRecordingScreenRecorderFactoryClass {
	GTypeClass parent_class;
	void (*finalize) (PeekRecordingScreenRecorderFactory *self);
};

VALA_EXTERN GType peek_application_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PeekApplication, g_object_unref)
VALA_EXTERN GSettings* peek_application_get_app_settings (void);
VALA_EXTERN PeekApplication* peek_application_new (void);
VALA_EXTERN PeekApplication* peek_application_construct (GType object_type);
VALA_EXTERN void peek_application_request_quit (PeekApplication* self);
VALA_EXTERN gboolean peek_application_get_keybindings_paused (void);
VALA_EXTERN void peek_application_set_keybindings_paused (gboolean value);
VALA_EXTERN const gchar* peek_application_get_keybinding_toggle_recording (PeekApplication* self);
VALA_EXTERN void peek_application_set_keybinding_toggle_recording (PeekApplication* self,
                                                       const gchar* value);
VALA_EXTERN gpointer peek_desktop_integration_ref (gpointer instance);
VALA_EXTERN void peek_desktop_integration_unref (gpointer instance);
VALA_EXTERN GParamSpec* peek_param_spec_desktop_integration (const gchar* name,
                                                 const gchar* nick,
                                                 const gchar* blurb,
                                                 GType object_type,
                                                 GParamFlags flags);
VALA_EXTERN void peek_value_set_desktop_integration (GValue* value,
                                         gpointer v_object);
VALA_EXTERN void peek_value_take_desktop_integration (GValue* value,
                                          gpointer v_object);
VALA_EXTERN gpointer peek_value_get_desktop_integration (const GValue* value);
VALA_EXTERN GType peek_desktop_integration_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PeekDesktopIntegration, peek_desktop_integration_unref)
VALA_EXTERN gboolean peek_desktop_integration_launch_file_manager (GFile* file);
VALA_EXTERN gchar* peek_desktop_integration_get_video_folder (void);
VALA_EXTERN gboolean peek_desktop_integration_is_unity (void);
VALA_EXTERN gboolean peek_desktop_integration_is_gnome (void);
VALA_EXTERN gboolean peek_desktop_integration_is_cinnamon (void);
VALA_EXTERN gboolean peek_desktop_integration_is_xfce (void);
VALA_EXTERN gboolean peek_desktop_integration_is_plasma (void);
VALA_EXTERN gboolean peek_desktop_integration_is_wayland (void);
VALA_EXTERN gboolean peek_desktop_integration_is_x11_backend (void);
VALA_EXTERN gboolean peek_desktop_integration_is_wayland_backend (void);
VALA_EXTERN gchar* peek_desktop_integration_get_theme_name (void);
VALA_EXTERN PeekDesktopIntegration* peek_desktop_integration_new (void);
VALA_EXTERN PeekDesktopIntegration* peek_desktop_integration_construct (GType object_type);
VALA_EXTERN GType peek_output_format_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* peek_output_format_to_string (PeekOutputFormat self);
VALA_EXTERN GQuark peek_peek_error_quark (void);
VALA_EXTERN GType peek_peek_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GQuark peek_recording_error_quark (void);
VALA_EXTERN GType peek_recording_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gpointer peek_gtk_helper_ref (gpointer instance);
VALA_EXTERN void peek_gtk_helper_unref (gpointer instance);
VALA_EXTERN GParamSpec* peek_param_spec_gtk_helper (const gchar* name,
                                        const gchar* nick,
                                        const gchar* blurb,
                                        GType object_type,
                                        GParamFlags flags);
VALA_EXTERN void peek_value_set_gtk_helper (GValue* value,
                                gpointer v_object);
VALA_EXTERN void peek_value_take_gtk_helper (GValue* value,
                                 gpointer v_object);
VALA_EXTERN gpointer peek_value_get_gtk_helper (const GValue* value);
VALA_EXTERN GType peek_gtk_helper_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PeekGtkHelper, peek_gtk_helper_unref)
VALA_EXTERN void peek_gtk_helper_hide_button_label (GtkButton* button);
VALA_EXTERN void peek_gtk_helper_show_button_label (GtkButton* button);
VALA_EXTERN GtkWidget* peek_gtk_helper_find_first_child_of_type (GtkContainer* container,
                                                     GType type);
VALA_EXTERN cairo_region_t* peek_gtk_helper_create_region_from_widget (GtkWidget* widget);
VALA_EXTERN PeekGtkHelper* peek_gtk_helper_new (void);
VALA_EXTERN PeekGtkHelper* peek_gtk_helper_construct (GType object_type);
VALA_EXTERN gpointer peek_utils_ref (gpointer instance);
VALA_EXTERN void peek_utils_unref (gpointer instance);
VALA_EXTERN GParamSpec* peek_param_spec_utils (const gchar* name,
                                   const gchar* nick,
                                   const gchar* blurb,
                                   GType object_type,
                                   GParamFlags flags);
VALA_EXTERN void peek_value_set_utils (GValue* value,
                           gpointer v_object);
VALA_EXTERN void peek_value_take_utils (GValue* value,
                            gpointer v_object);
VALA_EXTERN gpointer peek_value_get_utils (const GValue* value);
VALA_EXTERN GType peek_utils_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PeekUtils, peek_utils_unref)
VALA_EXTERN gchar* peek_utils_get_temp_dir (void);
VALA_EXTERN gchar* peek_utils_create_temp_file (const gchar* extension,
                                    GError** error);
VALA_EXTERN gboolean peek_utils_is_exit_status_success (gint status);
VALA_EXTERN gboolean peek_utils_check_for_executable (const gchar* executable);
VALA_EXTERN gchar* peek_utils_get_file_extension_for_format (PeekOutputFormat output_format);
VALA_EXTERN gboolean peek_utils_string_is_empty (const gchar* str);
VALA_EXTERN gint peek_utils_make_even (gint i);
VALA_EXTERN gint peek_utils_get_available_system_memory (void);
VALA_EXTERN gchar* peek_utils_get_command_failed_message (gchar** argv,
                                              gint argv_length1,
                                              GSubprocess* subprocess);
VALA_EXTERN gchar* peek_utils_format_time (gint64 seconds);
VALA_EXTERN PeekUtils* peek_utils_new (void);
VALA_EXTERN PeekUtils* peek_utils_construct (GType object_type);
VALA_EXTERN GType freedesktop_dbus_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint freedesktop_dbus_register_object (void* object,
                                        GDBusConnection* connection,
                                        const gchar* path,
                                        GError** error);
VALA_EXTERN GType freedesktop_dbus_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FreedesktopDBus, g_object_unref)
VALA_EXTERN gchar* freedesktop_dbus_hello (FreedesktopDBus* self,
                               GError** error);
VALA_EXTERN guint freedesktop_dbus_request_name (FreedesktopDBus* self,
                                     const gchar* param0,
                                     guint param1,
                                     GError** error);
VALA_EXTERN guint freedesktop_dbus_release_name (FreedesktopDBus* self,
                                     const gchar* param0,
                                     GError** error);
VALA_EXTERN guint freedesktop_dbus_start_service_by_name (FreedesktopDBus* self,
                                              const gchar* param0,
                                              guint param1,
                                              GError** error);
VALA_EXTERN void freedesktop_dbus_update_activation_environment (FreedesktopDBus* self,
                                                     GHashTable* param0,
                                                     GError** error);
VALA_EXTERN gboolean freedesktop_dbus_name_has_owner (FreedesktopDBus* self,
                                          const gchar* param0,
                                          GError** error);
VALA_EXTERN gchar** freedesktop_dbus_list_names (FreedesktopDBus* self,
                                     gint* result_length1,
                                     GError** error);
VALA_EXTERN gchar** freedesktop_dbus_list_activatable_names (FreedesktopDBus* self,
                                                 gint* result_length1,
                                                 GError** error);
VALA_EXTERN void freedesktop_dbus_add_match (FreedesktopDBus* self,
                                 const gchar* param0,
                                 GError** error);
VALA_EXTERN void freedesktop_dbus_remove_match (FreedesktopDBus* self,
                                    const gchar* param0,
                                    GError** error);
VALA_EXTERN gchar* freedesktop_dbus_get_name_owner (FreedesktopDBus* self,
                                        const gchar* param0,
                                        GError** error);
VALA_EXTERN gchar** freedesktop_dbus_list_queued_owners (FreedesktopDBus* self,
                                             const gchar* param0,
                                             gint* result_length1,
                                             GError** error);
VALA_EXTERN guint freedesktop_dbus_get_connection_unix_user (FreedesktopDBus* self,
                                                 const gchar* param0,
                                                 GError** error);
VALA_EXTERN guint freedesktop_dbus_get_connection_unix_process_i_d (FreedesktopDBus* self,
                                                        const gchar* param0,
                                                        GError** error);
VALA_EXTERN guint8* freedesktop_dbus_get_adt_audit_session_data (FreedesktopDBus* self,
                                                     const gchar* param0,
                                                     gint* result_length1,
                                                     GError** error);
VALA_EXTERN guint8* freedesktop_dbus_get_connection_s_e_linux_security_context (FreedesktopDBus* self,
                                                                    const gchar* param0,
                                                                    gint* result_length1,
                                                                    GError** error);
VALA_EXTERN void freedesktop_dbus_reload_config (FreedesktopDBus* self,
                                     GError** error);
VALA_EXTERN gchar* freedesktop_dbus_get_id (FreedesktopDBus* self,
                                GError** error);
VALA_EXTERN GHashTable* freedesktop_dbus_get_connection_credentials (FreedesktopDBus* self,
                                                         const gchar* param0,
                                                         GError** error);
VALA_EXTERN gchar** freedesktop_dbus_get_features (FreedesktopDBus* self,
                                       gint* result_length1);
VALA_EXTERN gchar** freedesktop_dbus_get_interfaces (FreedesktopDBus* self,
                                         gint* result_length1);
VALA_EXTERN GType freedesktop_file_manager1_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint freedesktop_file_manager1_register_object (void* object,
                                                 GDBusConnection* connection,
                                                 const gchar* path,
                                                 GError** error);
VALA_EXTERN GType freedesktop_file_manager1_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FreedesktopFileManager1, g_object_unref)
VALA_EXTERN void freedesktop_file_manager1_show_folders (FreedesktopFileManager1* self,
                                             gchar** URIs,
                                             gint URIs_length1,
                                             const gchar* StartupId,
                                             GError** error);
VALA_EXTERN void freedesktop_file_manager1_show_items (FreedesktopFileManager1* self,
                                           gchar** URIs,
                                           gint URIs_length1,
                                           const gchar* StartupId,
                                           GError** error);
VALA_EXTERN void freedesktop_file_manager1_show_item_properties (FreedesktopFileManager1* self,
                                                     gchar** URIs,
                                                     gint URIs_length1,
                                                     const gchar* StartupId,
                                                     GError** error);
VALA_EXTERN GType gnome_shell_screencast_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint gnome_shell_screencast_register_object (void* object,
                                              GDBusConnection* connection,
                                              const gchar* path,
                                              GError** error);
VALA_EXTERN GType gnome_shell_screencast_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomeShellScreencast, g_object_unref)
VALA_EXTERN void gnome_shell_screencast_screencast (GnomeShellScreencast* self,
                                        const gchar* file_template,
                                        GHashTable* options,
                                        gboolean* success,
                                        gchar** filename_used,
                                        GError** error);
VALA_EXTERN void gnome_shell_screencast_screencast_area (GnomeShellScreencast* self,
                                             gint x,
                                             gint y,
                                             gint width,
                                             gint height,
                                             const gchar* file_template,
                                             GHashTable* options,
                                             gboolean* success,
                                             gchar** filename_used,
                                             GError** error);
VALA_EXTERN gboolean gnome_shell_screencast_stop_screencast (GnomeShellScreencast* self,
                                                 GError** error);
VALA_EXTERN GType peek_post_processing_post_processor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PeekPostProcessingPostProcessor, g_object_unref)
VALA_EXTERN GType peek_post_processing_cli_post_processor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PeekPostProcessingCliPostProcessor, g_object_unref)
VALA_EXTERN void peek_post_processing_cli_post_processor_process_async (PeekPostProcessingCliPostProcessor* self,
                                                            GArray* files,
                                                            GAsyncReadyCallback _callback_,
                                                            gpointer _user_data_);
VALA_EXTERN GArray* peek_post_processing_cli_post_processor_process_finish (PeekPostProcessingCliPostProcessor* self,
                                                                GAsyncResult* _res_,
                                                                GError** error);
VALA_EXTERN void peek_post_processing_cli_post_processor_spawn_command_async (PeekPostProcessingCliPostProcessor* self,
                                                                  gchar** argv,
                                                                  gint argv_length1,
                                                                  GAsyncReadyCallback _callback_,
                                                                  gpointer _user_data_);
VALA_EXTERN gint peek_post_processing_cli_post_processor_spawn_command_finish (PeekPostProcessingCliPostProcessor* self,
                                                                   GAsyncResult* _res_,
                                                                   GError** error);
VALA_EXTERN PeekPostProcessingCliPostProcessor* peek_post_processing_cli_post_processor_construct (GType object_type);
VALA_EXTERN GType peek_post_processing_extract_frames_post_processor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PeekPostProcessingExtractFramesPostProcessor, g_object_unref)
VALA_EXTERN GArray* peek_post_processing_extract_frames_post_processor_get_png_output_files (GFile* input_file);
VALA_EXTERN PeekPostProcessingExtractFramesPostProcessor* peek_post_processing_extract_frames_post_processor_new (void);
VALA_EXTERN PeekPostProcessingExtractFramesPostProcessor* peek_post_processing_extract_frames_post_processor_construct (GType object_type);
VALA_EXTERN GType peek_post_processing_ffmpeg_post_processor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PeekPostProcessingFfmpegPostProcessor, g_object_unref)
VALA_EXTERN GType peek_recording_recording_config_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PeekRecordingRecordingConfig, g_object_unref)
VALA_EXTERN PeekPostProcessingFfmpegPostProcessor* peek_post_processing_ffmpeg_post_processor_new (PeekRecordingRecordingConfig* config);
VALA_EXTERN PeekPostProcessingFfmpegPostProcessor* peek_post_processing_ffmpeg_post_processor_construct (GType object_type,
                                                                                             PeekRecordingRecordingConfig* config);
VALA_EXTERN gboolean peek_post_processing_ffmpeg_post_processor_is_available (void);
VALA_EXTERN GType peek_post_processing_gifski_post_processor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PeekPostProcessingGifskiPostProcessor, g_object_unref)
VALA_EXTERN PeekPostProcessingGifskiPostProcessor* peek_post_processing_gifski_post_processor_new (PeekRecordingRecordingConfig* config);
VALA_EXTERN PeekPostProcessingGifskiPostProcessor* peek_post_processing_gifski_post_processor_construct (GType object_type,
                                                                                             PeekRecordingRecordingConfig* config);
VALA_EXTERN gboolean peek_post_processing_gifski_post_processor_is_available (void);
VALA_EXTERN GType peek_post_processing_post_processing_pipeline_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PeekPostProcessingPostProcessingPipeline, g_object_unref)
VALA_EXTERN PeekPostProcessingPostProcessingPipeline* peek_post_processing_post_processing_pipeline_new (void);
VALA_EXTERN PeekPostProcessingPostProcessingPipeline* peek_post_processing_post_processing_pipeline_construct (GType object_type);
VALA_EXTERN void peek_post_processing_post_processing_pipeline_add (PeekPostProcessingPostProcessingPipeline* self,
                                                        PeekPostProcessingPostProcessor* post_processor);
VALA_EXTERN void peek_post_processing_post_processor_process_async (PeekPostProcessingPostProcessor* self,
                                                        GArray* files,
                                                        GAsyncReadyCallback _callback_,
                                                        gpointer _user_data_);
VALA_EXTERN GArray* peek_post_processing_post_processor_process_finish (PeekPostProcessingPostProcessor* self,
                                                            GAsyncResult* _res_,
                                                            GError** error);
VALA_EXTERN void peek_post_processing_post_processor_cancel (PeekPostProcessingPostProcessor* self);
VALA_EXTERN GType peek_recording_recording_area_get_type (void) G_GNUC_CONST ;
VALA_EXTERN PeekRecordingRecordingArea* peek_recording_recording_area_dup (const PeekRecordingRecordingArea* self);
VALA_EXTERN void peek_recording_recording_area_free (PeekRecordingRecordingArea* self);
VALA_EXTERN void peek_recording_recording_area_copy (const PeekRecordingRecordingArea* self,
                                         PeekRecordingRecordingArea* dest);
VALA_EXTERN void peek_recording_recording_area_destroy (PeekRecordingRecordingArea* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (PeekRecordingRecordingArea, peek_recording_recording_area_destroy)
VALA_EXTERN GType peek_recording_screen_recorder_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PeekRecordingScreenRecorder, g_object_unref)
VALA_EXTERN GType peek_recording_base_screen_recorder_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PeekRecordingBaseScreenRecorder, g_object_unref)
VALA_EXTERN PeekRecordingBaseScreenRecorder* peek_recording_base_screen_recorder_construct (GType object_type);
VALA_EXTERN void peek_recording_base_screen_recorder_finalize_recording (PeekRecordingBaseScreenRecorder* self);
VALA_EXTERN void peek_recording_base_screen_recorder_start_recording (PeekRecordingBaseScreenRecorder* self,
                                                          PeekRecordingRecordingArea* area,
                                                          GError** error);
VALA_EXTERN void peek_recording_base_screen_recorder_stop_recording (PeekRecordingBaseScreenRecorder* self);
VALA_EXTERN PeekPostProcessingPostProcessingPipeline* peek_recording_base_screen_recorder_build_post_processor_pipeline (PeekRecordingBaseScreenRecorder* self);
VALA_EXTERN void peek_recording_base_screen_recorder_remove_temp_file (PeekRecordingBaseScreenRecorder* self);
VALA_EXTERN gboolean peek_recording_base_screen_recorder_get_is_cancelling (PeekRecordingBaseScreenRecorder* self);
VALA_EXTERN GType peek_recording_cli_screen_recorder_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PeekRecordingCliScreenRecorder, g_object_unref)
VALA_EXTERN void peek_recording_cli_screen_recorder_spawn_record_command (PeekRecordingCliScreenRecorder* self,
                                                              gchar** argv,
                                                              gint argv_length1,
                                                              GError** error);
VALA_EXTERN gboolean peek_recording_cli_screen_recorder_is_exit_status_success (PeekRecordingCliScreenRecorder* self,
                                                                    gint status);
VALA_EXTERN PeekRecordingCliScreenRecorder* peek_recording_cli_screen_recorder_construct (GType object_type);
VALA_EXTERN GType peek_recording_ffmpeg_screen_recorder_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PeekRecordingFfmpegScreenRecorder, g_object_unref)
VALA_EXTERN gboolean peek_recording_ffmpeg_screen_recorder_is_available (GError** error);
VALA_EXTERN PeekRecordingFfmpegScreenRecorder* peek_recording_ffmpeg_screen_recorder_new (void);
VALA_EXTERN PeekRecordingFfmpegScreenRecorder* peek_recording_ffmpeg_screen_recorder_construct (GType object_type);
VALA_EXTERN void peek_recording_ffmpeg_add_output_parameters (GArray* args,
                                                  PeekRecordingRecordingConfig* config,
                                                  gchar** extension);
VALA_EXTERN GType peek_recording_gnome_shell_dbus_recorder_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PeekRecordingGnomeShellDbusRecorder, g_object_unref)
VALA_EXTERN PeekRecordingGnomeShellDbusRecorder* peek_recording_gnome_shell_dbus_recorder_new (GError** error);
VALA_EXTERN PeekRecordingGnomeShellDbusRecorder* peek_recording_gnome_shell_dbus_recorder_construct (GType object_type,
                                                                                         GError** error);
VALA_EXTERN gboolean peek_recording_gnome_shell_dbus_recorder_is_available (GError** error);
VALA_EXTERN void peek_recording_recording_area_create_for_widget (GtkWidget* recording_view,
                                                      PeekRecordingRecordingArea* result);
VALA_EXTERN gboolean peek_recording_recording_area_equals (PeekRecordingRecordingArea *self,
                                               PeekRecordingRecordingArea* other);
VALA_EXTERN PeekRecordingRecordingConfig* peek_recording_recording_config_new (void);
VALA_EXTERN PeekRecordingRecordingConfig* peek_recording_recording_config_construct (GType object_type);
VALA_EXTERN PeekOutputFormat peek_recording_recording_config_get_output_format (PeekRecordingRecordingConfig* self);
VALA_EXTERN void peek_recording_recording_config_set_output_format (PeekRecordingRecordingConfig* self,
                                                        PeekOutputFormat value);
VALA_EXTERN gint peek_recording_recording_config_get_framerate (PeekRecordingRecordingConfig* self);
VALA_EXTERN void peek_recording_recording_config_set_framerate (PeekRecordingRecordingConfig* self,
                                                    gint value);
VALA_EXTERN gint peek_recording_recording_config_get_downsample (PeekRecordingRecordingConfig* self);
VALA_EXTERN void peek_recording_recording_config_set_downsample (PeekRecordingRecordingConfig* self,
                                                     gint value);
VALA_EXTERN gboolean peek_recording_recording_config_get_capture_mouse (PeekRecordingRecordingConfig* self);
VALA_EXTERN void peek_recording_recording_config_set_capture_mouse (PeekRecordingRecordingConfig* self,
                                                        gboolean value);
VALA_EXTERN gboolean peek_recording_recording_config_get_gifski_enabled (PeekRecordingRecordingConfig* self);
VALA_EXTERN void peek_recording_recording_config_set_gifski_enabled (PeekRecordingRecordingConfig* self,
                                                         gboolean value);
VALA_EXTERN gint peek_recording_recording_config_get_gifski_quality (PeekRecordingRecordingConfig* self);
VALA_EXTERN void peek_recording_recording_config_set_gifski_quality (PeekRecordingRecordingConfig* self,
                                                         gint value);
VALA_EXTERN gpointer peek_recording_screen_recorder_factory_ref (gpointer instance);
VALA_EXTERN void peek_recording_screen_recorder_factory_unref (gpointer instance);
VALA_EXTERN GParamSpec* peek_recording_param_spec_screen_recorder_factory (const gchar* name,
                                                               const gchar* nick,
                                                               const gchar* blurb,
                                                               GType object_type,
                                                               GParamFlags flags);
VALA_EXTERN void peek_recording_value_set_screen_recorder_factory (GValue* value,
                                                       gpointer v_object);
VALA_EXTERN void peek_recording_value_take_screen_recorder_factory (GValue* value,
                                                        gpointer v_object);
VALA_EXTERN gpointer peek_recording_value_get_screen_recorder_factory (const GValue* value);
VALA_EXTERN GType peek_recording_screen_recorder_factory_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PeekRecordingScreenRecorderFactory, peek_recording_screen_recorder_factory_unref)
VALA_EXTERN PeekRecordingScreenRecorder* peek_recording_screen_recorder_factory_create_default_screen_recorder (GError** error);
VALA_EXTERN PeekRecordingScreenRecorder* peek_recording_screen_recorder_factory_create_screen_recorder (const gchar* name,
                                                                                            GError** error);
VALA_EXTERN PeekRecordingScreenRecorderFactory* peek_recording_screen_recorder_factory_new (void);
VALA_EXTERN PeekRecordingScreenRecorderFactory* peek_recording_screen_recorder_factory_construct (GType object_type);
VALA_EXTERN void peek_recording_screen_recorder_record (PeekRecordingScreenRecorder* self,
                                            PeekRecordingRecordingArea* area,
                                            GError** error);
VALA_EXTERN void peek_recording_screen_recorder_stop (PeekRecordingScreenRecorder* self);
VALA_EXTERN void peek_recording_screen_recorder_cancel (PeekRecordingScreenRecorder* self);
VALA_EXTERN gboolean peek_recording_screen_recorder_get_is_recording (PeekRecordingScreenRecorder* self);
VALA_EXTERN void peek_recording_screen_recorder_set_is_recording (PeekRecordingScreenRecorder* self,
                                                      gboolean value);
VALA_EXTERN PeekRecordingRecordingConfig* peek_recording_screen_recorder_get_config (PeekRecordingScreenRecorder* self);
VALA_EXTERN void peek_recording_screen_recorder_set_config (PeekRecordingScreenRecorder* self,
                                                PeekRecordingRecordingConfig* value);
VALA_EXTERN gint64 peek_recording_screen_recorder_get_elapsed_seconds (PeekRecordingScreenRecorder* self);

G_END_DECLS

#endif
