import type { Operation } from './commands'; /** * @summary Filter operations based on when properties * @function * @protected * * @description * This function discards the operations that don't match given certain options. * * @param {Object[]} operations - array of operations * @param {Object} options - configuration options * * @returns {Object[]} filtered operations * * @example * const operations = utils.filterWhenMatches( * [ * { * command: 'foo', * when: { * name: 'john', * }, * }, * { * command: 'bar', * when: { * name: 'jane', * }, * }, * ], * { name: 'john'}, * ); */ export declare const filterWhenMatches: (operations: Operation[], options: object) => Operation[]; /** * @summary Get missing options from operations `when` properties * @function * @protected * * @param {Object[]} operations - array of operations * @param {Object} options - configuration options * * @returns {String[]} missing options * * @example * const missingOptions = utils.getMissingOptions( * [{ * command: 'foo', * when: { * foo: 1 * } * }], * { bar: 2 }, * ); * * console.log(missingOptions); * > [ 'foo' ] */ export declare const getMissingOptions: (operations: Operation[], options: object) => string[]; /** * @summary Get operating system * @function * @protected * * @returns {String} operating system * * @example * const os = utils.getOperatingSystem(); */ export declare const getOperatingSystem: () => "osx" | "aix" | "android" | "freebsd" | "haiku" | "linux" | "openbsd" | "sunos" | "win32" | "cygwin" | "netbsd";