import { AnyNode, CommandNode, GlobalsInjected, InferMaybeRequiredChildren, InferRequiredChildren, NodeType, ProgramNode, ProgramOrCommandChildren, UnwrapRequiredChildren } from './types'; import { AnyOptions, TableFormatOptions, ValidOptions } from './types-internal'; declare const several: (arr: readonly T[], fn: (item: T, index: number) => boolean) => boolean; declare const sum: (arr: readonly number[]) => number; declare function withDefault(value: T, defaultValue: Exclude): Exclude; declare function validateChildren(children: readonly AnyNode[], validTypes: readonly NodeType[]): void; declare function getNodeChildren(children: C): { _requireAll: InferRequiredChildren; _requireAny: InferMaybeRequiredChildren; children: UnwrapRequiredChildren; }; declare function validateEmptyChildren(children: readonly never[]): void; declare function validateName(name: unknown): asserts name is string; declare function serializeOptions(options: AnyOptions, validOptions: ValidOptions): Record; declare function formatTable(table: readonly (readonly string[])[], options: TableFormatOptions): string; declare function sortByName(a: { name: string; }, b: { name: string; }): 0 | 1 | -1; declare function createHelp(schema: ProgramNode | CommandNode, globals: GlobalsInjected, error?: string): string; declare function exitWithHelp(help: string): void; declare function formatNodeName(node: { name: string; _type: string; }): string; declare function formatRequiredList(nodes: readonly { name: string; _type: string; }[]): string; declare function extractErrorMessage(error: unknown): string; declare function pluralize(text: T): `${T}s`; export { several, sum, validateChildren, validateEmptyChildren, getNodeChildren, validateName, serializeOptions, formatTable, sortByName, createHelp, exitWithHelp, formatNodeName, formatRequiredList, extractErrorMessage, pluralize, withDefault, };