namespace ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.Import;
///
/// Options that drive an run. Captures the few knobs that
/// reasonably differ between projects without forcing a dedicated subclass per import shape:
/// scope filter (Global vs. Local:N), maximum rows to keep (defensive cap on suspicious
/// exports), and whether to silently drop malformed rows or surface a parse exception.
///
///
///
/// matches the optional Scope column on RSLogix CSV
/// exports — "Global" tags live at the project root; "Local:1" / "Local:2" / etc. are
/// scoped to ladder file 1, ladder file 2, etc. When non-null, only rows whose
/// Scope value matches case-insensitively are emitted; rows with no Scope
/// column are treated as Global.
///
///
/// defaults to true — RSLogix exports tend to carry
/// the occasional cosmetic row (single-letter alias, comment-only rows, blank lines)
/// and the v1 contract is "import what we can, log a warning for everything else".
/// Set to false to fail-fast on the first malformed row (useful for CI lint).
///
///
public sealed record ImportOptions(
string? ScopeFilter = null,
int? MaxRowsToImport = null,
bool IgnoreInvalid = true);