/**
 * Get the CLI root, skips 'help'.
 *
 * @param {import("./types.js").CliResolved} command
 * @returns {import("./types.js").CliResolved}
 */
export function cliCommandGetRoot(command: import("./types.js").CliResolved): import("./types.js").CliResolved;
/**
 * Determine the command that we are working with.
 *
 * @param {import("@compas/stdlib").InsightEvent} event
 * @param {import("./types.js").CliResolved} cli
 * @param {Array<string>} input
 * @returns {Promise<import("@compas/stdlib").Either<import("./types.js").CliResolved, {
 *   message: string }>>}
 */
export function cliCommandDetermine(event: import("@compas/stdlib").InsightEvent, cli: import("./types.js").CliResolved, input: Array<string>): Promise<import("@compas/stdlib").Either<import("./types.js").CliResolved, {
    message: string;
}>>;
/**
 *
 * @param {import("@compas/stdlib").InsightEvent} event
 * @param {import("@compas/stdlib").Logger} logger
 * @param {import("./types.js").CliResolved} cli
 * @param {import("./types.js").CliResolved} command
 * @param {Record<string, any>} flags
 * @param {Array<string>} userInput
 * @returns {Promise<import("@compas/stdlib").Either<import("./types.js").CliResult, {
 *   message: string }>>}
 */
export function cliCommandExec(event: import("@compas/stdlib").InsightEvent, logger: import("@compas/stdlib").Logger, cli: import("./types.js").CliResolved, command: import("./types.js").CliResolved, flags: Record<string, any>, userInput: Array<string>): Promise<import("@compas/stdlib").Either<import("./types.js").CliResult, {
    message: string;
}>>;
