import { type PhpAssoc, type PhpRuntimeList, type PhpRuntimeValue } from '../_helpers/_phpTypes.ts';
type RecursiveWalkNode<TValue> = TValue | RecursiveWalkList<TValue>;
type RecursiveWalkList<TValue> = RecursiveWalkNode<TValue>[];
type RecursiveWalkAssoc<TValue> = PhpAssoc<RecursiveWalkNode<TValue>>;
type RecursiveWalkInput = Exclude<PhpRuntimeValue, PhpRuntimeList>;
type ArrayWalkRecursiveCallback<TKey extends number | string, TValue, TUserdata> = (value: TValue, key: TKey, userdata?: TUserdata) => void;
export declare function array_walk_recursive<TValue extends RecursiveWalkInput = RecursiveWalkInput, TUserdata extends RecursiveWalkInput = RecursiveWalkInput>(array: RecursiveWalkList<TValue>, funcname: ArrayWalkRecursiveCallback<number, TValue, TUserdata>, userdata?: TUserdata): boolean;
export declare function array_walk_recursive<TValue extends RecursiveWalkInput = RecursiveWalkInput, TUserdata extends RecursiveWalkInput = RecursiveWalkInput>(array: RecursiveWalkAssoc<TValue>, funcname: ArrayWalkRecursiveCallback<string, TValue, TUserdata>, userdata?: TUserdata): boolean;
export {};
