import { Command } from "commander"; import { EntityName, EntitySpec } from "./entities.js"; import { ListOptions } from "./openalex.js"; import { OutputFormat } from "./render.js"; export interface CommonOptionConfig { allowSelect?: boolean; allowIncludeXpac?: boolean; allowSearch?: boolean; } export interface GlobalOptions { format: OutputFormat; field?: string[]; } export interface CommonListOptions extends GlobalOptions { filter?: string[]; search?: string; sort?: string; select?: string[]; sample?: string; seed?: string; page?: string; perPage?: string; cursor?: string; all?: boolean; includeXpac?: boolean; } export declare function createProgram(): Command; export declare function readPackageVersion(): string; export declare function addCommonListOptions(command: Command): Command; export declare function addConfiguredListOptions(command: Command, config: CommonOptionConfig): Command; export declare function parseListOptions(options: CommonListOptions): ListOptions; export declare function addInheritedGlobalOptionHelp(command: Command): Command; export declare function supportsXpac(entity: EntityName): boolean; export declare function collectRepeatable(value: string, previous: string[]): string[]; export declare function parseOptionalInt(value: string | undefined): number | undefined; export declare function entityHeading(spec: EntitySpec, operation: string): string;