using AdventOfCode.Core.Shared.Grid; namespace AdventOfCode.Core.Shared.IO { public interface IInputReader { int Day { get; set; } int Year { get; set; } void SetInput(IChallange challange); void SetInput(int day, int year); void SetSampleInput(bool isSample); Task ReadAsString(); IAsyncEnumerable ReadAsStringLine(); Task ReadAsArrayString(); Task ReadAsVerticalArrayString(); IAsyncEnumerable ReadAsStringLine(T emptyLineIndicator); IAsyncEnumerable ReadLineAsLongArray(string seperator); Task> ReadToGrid() where T : Point, new(); IAsyncEnumerable> ReadToGrids() where T : Node, new(); } }