let addArg: arg:'a => name:StringMap.key => (list((StringMap.key, 'a, 'a)), StringMap.t('a)) => (list((StringMap.key, 'a, 'a)), StringMap.t('a));let getDuplicatesAndKnownArgs: list((RargInternal.Args.t, 'a)) => (list((StringMap.key, RargInternal.Args.t, RargInternal.Args.t)), StringMap.t(RargInternal.Args.t));let isValidArgName: string => bool;let checkArgNames: list((RargInternal.Args.t, 'a)) => Stdlib.result(unit, list(RargInternal.Args.t));let definedArgs: list((RargInternal.Args.t, RargInternal.Args.validate)) => Stdlib.result(StringMap.t(RargInternal.Args.t), Err.Config.t);let checkUnknownArgs: isKnown:(string => bool) => providedArgs:list((string, array(string))) => Stdlib.result(unit, list((string, array(string))));let checkKnownArgs: list((RargInternal.Args.t, RargInternal.Args.validate)) => argsMap:RargInternal.ArgsMap.t => Stdlib.result(unit, list((RargInternal.Args.t, RargInternal.ValidateArgs.Err.t)));let providedArgs: list((RargInternal.Args.t, RargInternal.Args.validate)) => argsMap:RargInternal.ArgsMap.t => isKnown:(string => bool) => Stdlib.result(unit, Err.User.t);