/** * CLI-specific utility functions for building and parsing CLI commands */ import type { RequestBaseConfig } from "../../api/utils/request.js"; /** * Property accessor - curried function to get a property from an object * @example prop('name')({ name: 'hero' }) // => 'hero' */ export declare const prop: (k: any) => (o: any) => any; /** * Pipe functions left to right (function composition) * @example pipe(addOne, double)(5) // => 12 */ export declare const pipe: (...fns: any[]) => (x: any) => any; /** * Extract elements after the first two from CLI input array * Used for parsing component names from commands like: sync components hero card * @example unpackElements(['sync', 'components', 'hero', 'card']) // => ['hero', 'card'] */ export declare const unpackElements: (input: string[]) => string[]; /** * Extract the third element from CLI input array * Used for parsing single component name from commands * @example unpackOne(['sync', 'components', 'hero']) // => 'hero' */ export declare const unpackOne: (input: string[]) => string | undefined; /** * Factory for creating flag matchers * Used to determine which CLI action to take based on provided flags * * @param flags - The flags object from CLI parser * @param rules - Object mapping action names to required flag combinations * @param whitelist - Flags to ignore when matching (e.g., 'from', 'to') * @returns A function that checks if a given action type matches the flags * * @example * const rules = { all: ['all'], allWithPresets: ['all', 'presets'] }; * const isIt = isItFactory({ all: true, presets: true }, rules, []); * isIt('allWithPresets') // => true */ export declare const isItFactory: (flags: any, rules: any, whitelist: string[]) => (type: T) => boolean; /** * Extract 'from' space ID from flags, falling back to config spaceId */ export declare const getFrom: (flags: any, config: RequestBaseConfig) => string; /** * Extract 'to' space ID from flags, falling back to config spaceId */ export declare const getTo: (flags: any, config: RequestBaseConfig) => string; /** * Extract 'sourceSpace' from flags, falling back to config spaceId */ export declare const getSourceSpace: (flags: any, config: RequestBaseConfig) => string; /** * Extract 'targetSpace' from flags, falling back to config spaceId */ export declare const getTargetSpace: (flags: any, config: RequestBaseConfig) => string; /** * Extract 'what' flag, defaulting to 'all' */ export declare const getWhat: (flags: any) => string; /** * Extract 'where' flag, defaulting to 'all' */ export declare const getWhere: (flags: any) => string; /** * Extract 'recursive' flag, defaulting to false */ export declare const getRecursive: (flags: any) => boolean;