// SPDX-License-Identifier: LGPL-2.1-only
// Copyright (C) 2026 Liberux Labs, S. L. <info@liberux.net>

pub( crate ) mod app_data;
pub( crate ) mod clipboard;
pub( crate ) mod data_device;
pub( crate ) mod context_menu;
pub( crate ) mod cursor_shape;
pub( crate ) mod drag;
pub( crate ) mod focus;
mod handlers;
pub( crate ) mod perf;
pub( crate ) mod repeat;
pub( crate ) mod subsurface;
pub( crate ) mod surface;
pub( crate ) mod text_editing;
pub( crate ) mod text_scale;
pub( crate ) mod tooltip;

pub( crate ) mod error;
pub( crate ) mod frame;
pub( crate ) mod run;
pub( crate ) mod invalidation;
pub( crate ) mod overlays_reconcile;

pub( crate ) use app_data::AppData;
pub( crate ) use surface::{ FrameState, LayerConfig, SurfaceFocus, SurfaceKind, SurfaceState };
pub use error::RunError;
pub( crate ) use run::{ run, try_run };
#[ cfg( feature = "test-support" ) ]
pub use invalidation::diff_overlay_ids;
