{"size": 1114, "ext": "js", "max_stars_repo_path": "src/plugins/navigation/flow-types.js", "max_stars_repo_name": "mclark/flipper", "max_stars_repo_stars_event_min_datetime": "2020-02-04T05:07:08.000Z", "max_stars_repo_stars_event_max_datetime": "2020-02-04T05:07:08.000Z", "max_issues_repo_path": "src/plugins/navigation/flow-types.js", "max_issues_repo_name": "mclark/flipper", "max_issues_repo_issues_event_min_datetime": null, "max_issues_repo_issues_event_max_datetime": null, "max_forks_repo_path": "src/plugins/navigation/flow-types.js", "max_forks_repo_name": "mclark/flipper", "max_forks_repo_forks_event_min_datetime": null, "max_forks_repo_forks_event_max_datetime": null}
{"max_stars_count": 1, "max_issues_count": null, "max_forks_count": null, "avg_line_length": 20.6296296296, "max_line_length": 66, "alphanum_fraction": 0.7190305206}
/**
 * Copyright 2018-present Facebook.
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 * @format
 * @flow strict-local
 */

export type URI = string;

export type State = {|
  shouldShowSaveBookmarkDialog: boolean,
  shouldShowURIErrorDialog: boolean,
  saveBookmarkURI: ?URI,
  requiredParameters: Array<string>,
|};

export type PersistedState = {|
  bookmarks: Map<URI, Bookmark>,
  navigationEvents: Array<NavigationEvent>,
  bookmarksProvider: AutoCompleteProvider,
  appMatchPatterns: Array<AppMatchPattern>,
  appMatchPatternsProvider: AutoCompleteProvider,
  currentURI: string,
|};

export type NavigationEvent = {|
  date: ?Date,
  uri: ?URI,
  className: ?string,
  screenshot: ?string,
|};

export type Bookmark = {|
  uri: URI,
  commonName: string,
|};

export type AutoCompleteProvider = {|
  icon: string,
  matchPatterns: Map<string, URI>,
|};

export type AutoCompleteLineItem = {|
  icon: string,
  matchPattern: string,
  uri: URI,
|};

export type AppMatchPattern = {|
  className: string,
  pattern: string,
|};
