import { type Argv } from 'yargs'; import { type FormatAndWriteItemConfig } from './format.js'; import { type InputProcessorFlags } from './input-builder.js'; import { type InputProcessor } from './input-processor.js'; import { type ActionFunction } from './io-defs.js'; import { type BuildOutputFormatterFlags } from './output-builder.js'; import { type SmartThingsCommand, type SmartThingsCommandFlags } from './smartthings-command.js'; export type InputAndOutputItemFlags = InputProcessorFlags & BuildOutputFormatterFlags & { dryRun?: boolean; }; export type InputAndOutputItemConfig = FormatAndWriteItemConfig; export declare const inputAndOutputItemBuilder: (yargs: Argv) => Argv; /** * This is the main function used in most create and update commands. It parses input and passes it * on to the executeAction function parameter. * * By default input is only accepted from stdin or a file specified by the --input command line * flag as JSON or YAML but alternate input processors can be specified as arguments. They need to * implement the InputProcessor interface. The most common use-case for this is to use a Q&A * session with the user to build up the input. Another possible use-case would be building input * from command line flags or arguments. Input processors are called in the order they are specified * and the first one to return data is used. */ export declare const inputAndOutputItem: (command: SmartThingsCommand, config: InputAndOutputItemConfig, executeAction: ActionFunction, ...alternateInputProcessors: InputProcessor[]) => Promise; //# sourceMappingURL=input-and-output-item.d.ts.map