export type RowCountAccessor<T> = (tile: T) => number;
/**
 * An iterable object that can iterate over all rows
 * in a set of tiles, treat the set as a single iterable
 */
export default class IterableTileSet<T extends Iterable<any>> {
    private readonly tiles;
    rowCount: number;
    private rowCounts;
    constructor(tiles: readonly T[], getRowCount: RowCountAccessor<T>);
    /**
     * Iterate over all values in the set
     */
    [Symbol.iterator](): Iterator<T extends Iterable<infer V> ? V : never>;
}
