// @flow import * as ACTIONS from 'constants/action_types'; declare type SearchSuggestion = { value: string, shorthand: string, type: string, }; declare type SearchOptions = { // :( // https://github.com/facebook/flow/issues/6492 RESULT_COUNT: number, CLAIM_TYPE: string, INCLUDE_FILES: string, INCLUDE_CHANNELS: string, INCLUDE_FILES_AND_CHANNELS: string, MEDIA_AUDIO: string, MEDIA_VIDEO: string, MEDIA_TEXT: string, MEDIA_IMAGE: string, MEDIA_APPLICATION: string, }; declare type SearchState = { isActive: boolean, searchQuery: string, options: SearchOptions, suggestions: { [string]: Array }, urisByQuery: {}, resolvedResultsByQuery: {}, resolvedResultsByQueryLastPageReached: {}, }; declare type SearchSuccess = { type: ACTIONS.SEARCH_SUCCESS, data: { query: string, uris: Array, }, }; declare type UpdateSearchQuery = { type: ACTIONS.UPDATE_SEARCH_QUERY, data: { query: string, }, }; declare type UpdateSearchSuggestions = { type: ACTIONS.UPDATE_SEARCH_SUGGESTIONS, data: { query: string, suggestions: Array, }, }; declare type UpdateSearchOptions = { type: ACTIONS.UPDATE_SEARCH_OPTIONS, data: SearchOptions, }; declare type ResolvedSearchResult = { channel: string, channel_claim_id: string, claimId: string, duration: number, fee: number, name: string, nsfw: boolean, release_time: string, thumbnail_url: string, title: string, }; declare type ResolvedSearchSuccess = { type: ACTIONS.RESOLVED_SEARCH_SUCCESS, data: { append: boolean, pageSize: number, results: Array, query: string, }, };