type PuzzleApiData = { metrics: { counts: { blanks: number; clues: number; }; nanos: { generate: number; solve: number; }; }; puzzle: string; ref: string; tag: string; }; type PuzzleCell = { key: string; value: string; isClue: boolean; indx: number; row: number; column: number; box: number; }; type PuzzleData = { puzzle: string; ref: string; }; type AppStore = { loading: boolean; error: string; pick: number; solved: boolean; list: PuzzleCell[]; data: PuzzleData; keys: string[]; locs: number[]; }; type IconProps = { class?: string; hex?: string; label?: string; size?: number; }; type GeoMap = Map>>; type VoidFn = () => void; type ComputeBoxFn = (row: number, column: number) => number; type ComputeLocsFn = (index: number, row: number, column: number, box: number) => number[]; type ComputeKeysFn = (locs: number[]) => string[]; type GeometryFn = (index: number, row: number, column: number, box: number) => void; type InputsFn = (list: PuzzleCell[]) => void; export type { AppStore, IconProps, GeoMap, PuzzleApiData, PuzzleCell, PuzzleData, VoidFn, ComputeBoxFn, ComputeLocsFn, ComputeKeysFn, GeometryFn, InputsFn, }; export default AppStore;