import { ClientOptions, RequestMethod } from './types.js';
type KeyOfType<T, V> = keyof {
    [P in keyof T as T[P] extends V ? P : never]: any;
};
export type IterablePromise<TData, TKey extends KeyOfType<TData, Array<unknown>> = KeyOfType<TData, Array<unknown>>, TNode = TData[TKey] extends Array<unknown> ? TData[TKey][number] : never> = Promise<TData> & {
    [Symbol.asyncIterator](): Iterator<TNode>;
    forEach(cb: (node: TNode, index: number) => void | boolean | Promise<void | boolean>): Promise<void>;
    toArray(options: {
        limit: number;
    }): Promise<Array<TNode>>;
};
export declare function normalizeArgs({ path, method, args, }: {
    path: string;
    method: RequestMethod;
    args: (Record<string, unknown> | string)[];
}): {
    path: string;
    data: Record<string, unknown>;
    params: Record<string, unknown>;
    options: Partial<ClientOptions>;
};
export {};
