import { type YTError } from '../../@types/types';
import { type BatchResultsItem } from '../yt-types';
export declare class UIBatchError implements YTError {
    message: string;
    code?: number;
    attributes?: any;
    inner_errors?: YTError[];
    constructor(error: string | YTError<{
        attributes?: object;
    }>);
}
export declare function getBatchError<T = unknown>(batchResults: Array<BatchResultsItem<T>>, message: string): YTError | undefined;
export declare function splitBatchResults<T = unknown>(batchResults: Array<BatchResultsItem<T>>, inputError: string | UIBatchError, { ignoreErrorCodes }?: {
    ignoreErrorCodes?: Array<number>;
}): SplitedBatchResults<T>;
export interface SplitedBatchResults<T> {
    error: YTError | undefined;
    results: Array<T>;
    outputs: Array<T | undefined>;
    errorIndices: Array<number>;
    resultIndices: Array<number>;
    errorIgnoredIndices: Array<number>;
}
