use crate::*;
use HashSet;
/// Represents the configuration for function types, visibility, return type, and skipping behavior.
///
/// This struct holds the configuration for function types (`FuncType`),
/// sets of flags for functions to skip or that have been added, the visibility of the function (`Visibility`),
/// the return type behavior (`ReturnType`), and optional custom parameter type specification.
///
/// # Fields
/// - `func_type` - A `FuncType` that specifies the function type.
/// - `visibility` - A `Visibility` that defines the visibility of the function.
/// - `return_type` - A `ReturnType` that specifies the return type behavior for getters.
/// - `param_type_override` - Optional custom parameter type to use instead of deriving from field type.
/// - `skip_flags` - A set of `SkipFlag` indicating which function types should be skipped.
/// - `added_flags` - A set of `AddedFlag` indicating which function types have been added.
pub