/**
 * Get the sub commands and flags in separate arrays
 *
 * @param {Array<string>} args
 * @returns {{commandArgs: Array<string>, flagArgs: Array<string>}}
 */
export function cliParserSplitArgs(args: Array<string>): {
    commandArgs: Array<string>;
    flagArgs: Array<string>;
};
/**
 *
 * @param {import("./types.js").CliResolved} command
 * @returns {Map<string, import("../generated/common/types.d.ts").CliFlagDefinition>}
 */
export function cliParserGetKnownFlags(command: import("./types.js").CliResolved): Map<string, import("../generated/common/types.d.ts").CliFlagDefinition>;
/**
 * Parse the command to use
 *
 * @param {import("@compas/stdlib").InsightEvent} event
 * @param {import("./types.js").CliResolved} cli
 * @param {Array<string>} args
 * @returns {Promise<import("@compas/stdlib").Either<import("./types.js").CliResolved, {
 *     message: string,
 * }>>}
 */
export function cliParserParseCommand(event: import("@compas/stdlib").InsightEvent, cli: import("./types.js").CliResolved, args: Array<string>): Promise<import("@compas/stdlib").Either<import("./types.js").CliResolved, {
    message: string;
}>>;
/**
 *
 * @param {import("@compas/stdlib").InsightEvent} event
 * @param {import("./types.js").CliResolved} command
 * @param {Array<string>} userInput
 * @returns {Promise<import("@compas/stdlib").Either<any, { message: string }>>}
 */
export function cliParserParseFlags(event: import("@compas/stdlib").InsightEvent, command: import("./types.js").CliResolved, userInput: Array<string>): Promise<import("@compas/stdlib").Either<any, {
    message: string;
}>>;
