import type { CascaderOptionType, SingleValueType } from '../types';
/**
 * Recursively extracts all paths from a nested structure of CascaderOptionType objects.
 * Each path is an array of 'value' properties, representing a navigation route
 * through the nested objects.
 *
 * @param option The root node of the cascader option type structure from which to begin extraction.
 * @returns An array containing all possible paths, each represented as an array of values.
 */
export declare function extractAllValuesWithPath(option: CascaderOptionType): Array<SingleValueType>;
/**
 * Checks if any of the arrays in the `haystack` exactly match any array in `needle`.
 * @param {Array<SingleValueType>} haystack The array to search within.
 * @param {Array<SingleValueType>} needle Arrays to search for.
 * @returns {boolean} True if any array in `needle` is found in `haystack`, otherwise false.
 */
export declare function existsInArray(haystack: SingleValueType[], needle: Array<SingleValueType>): boolean;
/**
 * Recursively finds labels matching the given values within the provided options.
 *
 * @param {SingleValueType} values - A single value array of values to find labels for.
 * @param {CascaderOptionType[]} options - An array of options with potential nested children to search through.
 * @returns {string[]} An array of found labels.
 */
export declare function findLabels(values: SingleValueType, options: CascaderOptionType[]): string[];
