import { JavaClasses } from "../util/JavaTypes.js";
import LaraIterator from "./LaraIterator.js";
/**
 * Iterates over a sequence of lines.
 *
 * @param contents - The contents that will be iterated as lines.
 */
export default class LineIterator extends LaraIterator<string> {
    private contents;
    private lineStream;
    constructor(contents: string | JavaClasses.File);
    getType(): string;
    /**
     * @returns the next element.
     */
    next(): string | undefined;
    /**
     * @returns True if it has another element to return.
     */
    hasNext(): any;
    /**
     * Resets the iterator.
     */
    reset(): void;
    /**
     * @returns The total number of elements of the iterator, or undefined if it is not possible to calculate.
     */
    getNumElements(): number | undefined;
    /**
     * @returns The number of values returned by a call to next(). A value of one means one value, a value greater than one means an array with that amount of values.
     */
    getNumValuesPerElement(): number;
    /**
     * Closes the iterator. For instane, if the iterator is backed-up by a file, it needs to be closed before the file can be deleted.
     */
    close(): void;
}
//# sourceMappingURL=LineIterator.d.ts.map