import { AdapterError } from "./AdapterError.cjs";
import { NumericLiteralNode } from "../Serialization/NumericLiteralNode.cjs";
import { IAdapter } from "../Transformation/IAdapter.cjs";
/**
 * Represents an error indicating that the requested index is out of bounds.
 */
export declare class IndexOutOfBoundsError<TInput, TNode, TContext> extends AdapterError<TInput, TNode, TContext> {
    /**
     * The node containing the invalid index.
     */
    private indexNode;
    /**
     * The number of available segments.
     */
    private segmentCount;
    /**
     * Initializes a new instance of the {@linkcode IndexOutOfBoundsError} class.
     *
     * @param adapter
     * The adapter which caused the error.
     *
     * @param indexNode
     * The node containing the invalid index.
     *
     * @param segmentCount
     * The number of available segments.
     *
     * @param context
     * The context of the operation.
     */
    constructor(adapter: IAdapter<TInput, TNode, TContext>, indexNode: NumericLiteralNode<TNode>, segmentCount: number, context: TContext);
    /**
     * Gets the node containing the invalid index.
     */
    protected get IndexNode(): NumericLiteralNode<TNode>;
    /**
     * Gets the invalid index.
     */
    protected get Index(): number;
    /**
     * Gets the number of available segments.
     */
    protected get SegmentCount(): number;
    /**
     * @inheritdoc
     */
    protected get Message(): string;
}
