mod bootstrap;
mod error;
mod event;
mod forge;
mod hooks;
mod model;
mod resource;
mod rights;
pub use bootstrap::{
BootstrapComponent, BootstrapReport, BootstrapStep, DEFAULT_REQUIRED_CHECK, ExtraFile,
MergeMethod, ProtectionSpec, RepoSettings, StepAction, StepOutcome, VgiConfig, run_plan,
validate_repo_path,
};
pub use error::{ForgeError, Result};
pub use event::{
Drift, ForgeEvent, ForgeEventKind, InstallationChange, MemberChange, ProtectionGap,
default_diff, protection_gaps,
};
pub use forge::Forge;
pub use hooks::{ForgeHooks, HookDecision, NoHooks};
pub use model::{
AccessSource, ApplyReport, BindCallback, BindRequest, BindStep, Capabilities, CheckSourceGuard,
Collaborator, ForgeAccount, ForgeKind, IndirectAccess, LinkCallback, LinkMethod, LinkStep,
Namespace, NamespaceBinding, NamespaceKind, Projection, ProtectionState, RepoSpec, RepoState,
RequiredCheckKind, RoleAssignment, RoleChange, RoleOutcome, Unlisted, Visibility,
};
pub use resource::{OWNER_REPO_DEPTH, Resource};
pub use rights::{EffectiveRights, ForgeRole, Right, RoleMap, collapse_to_ladder};
pub use async_trait::async_trait;