-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Google CustomSearch SDK.
--   
--   Lets you search over a website or collection of websites
--   
--   <i>Warning:</i> This is an experimental prototype/preview release
--   which is still under exploratory development and not intended for
--   public use, caveat emptor!
--   
--   This library is compatible with version <tt>v1</tt> of the API.
@package gogol-customsearch
@version 0.3.0


module Network.Google.CustomSearch.Types

-- | Default request referring to version <tt>v1</tt> of the CustomSearch
--   API. This contains the host and root path used as a starting point for
--   constructing service requests.
customSearchService :: ServiceConfig

-- | Returns images of a type, which can be one of: clipart, face, lineart,
--   news, and photo.
data CSEListImgType

-- | <tt>clipart</tt> clipart
CliPart :: CSEListImgType

-- | <tt>face</tt> face
Face :: CSEListImgType

-- | <tt>lineart</tt> lineart
Lineart :: CSEListImgType

-- | <tt>news</tt> news
News :: CSEListImgType

-- | <tt>photo</tt> photo
Photo :: CSEListImgType
data PromotionImage

-- | Creates a value of <a>PromotionImage</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>piHeight</a></li>
--   <li><a>piWidth</a></li>
--   <li><a>piSource</a></li>
--   </ul>
promotionImage :: PromotionImage
piHeight :: Lens' PromotionImage (Maybe Int32)
piWidth :: Lens' PromotionImage (Maybe Int32)
piSource :: Lens' PromotionImage (Maybe Text)
data Context

-- | Creates a value of <a>Context</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cFacets</a></li>
--   <li><a>cTitle</a></li>
--   </ul>
context :: Context
cFacets :: Lens' Context [[ContextFacetsItemItem]]
cTitle :: Lens' Context (Maybe Text)

-- | Controls whether to include or exclude results from the site named in
--   the as_sitesearch parameter
data CSEListSiteSearchFilter

-- | <tt>e</tt> exclude
E :: CSEListSiteSearchFilter

-- | <tt>i</tt> include
I :: CSEListSiteSearchFilter
data SearchQueries

-- | Creates a value of <a>SearchQueries</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sqAddtional</a></li>
--   </ul>
searchQueries :: HashMap Text [Query] -> SearchQueries
sqAddtional :: Lens' SearchQueries (HashMap Text [Query])
data ResultPagemapAdditionalItem

-- | Creates a value of <a>ResultPagemapAdditionalItem</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rpaiAddtional</a></li>
--   </ul>
resultPagemapAdditionalItem :: HashMap Text JSONValue -> ResultPagemapAdditionalItem
rpaiAddtional :: Lens' ResultPagemapAdditionalItem (HashMap Text JSONValue)
data SearchURL

-- | Creates a value of <a>SearchURL</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>suType</a></li>
--   <li><a>suTemplate</a></li>
--   </ul>
searchURL :: SearchURL
suType :: Lens' SearchURL Text
suTemplate :: Lens' SearchURL Text
data SearchSpelling

-- | Creates a value of <a>SearchSpelling</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ssCorrectedQuery</a></li>
--   <li><a>ssHTMLCorrectedQuery</a></li>
--   </ul>
searchSpelling :: SearchSpelling
ssCorrectedQuery :: Lens' SearchSpelling (Maybe Text)
ssHTMLCorrectedQuery :: Lens' SearchSpelling (Maybe Text)

-- | Returns images of a specific dominant color: yellow, green, teal,
--   blue, purple, pink, white, gray, black and brown.
data CSEListImgDominantColor

-- | <tt>black</tt> black
Black :: CSEListImgDominantColor

-- | <tt>blue</tt> blue
Blue :: CSEListImgDominantColor

-- | <tt>brown</tt> brown
Brown :: CSEListImgDominantColor

-- | <tt>gray</tt> gray
Gray :: CSEListImgDominantColor

-- | <tt>green</tt> green
Green :: CSEListImgDominantColor

-- | <tt>pink</tt> pink
Pink :: CSEListImgDominantColor

-- | <tt>purple</tt> purple
Purple :: CSEListImgDominantColor

-- | <tt>teal</tt> teal
Teal :: CSEListImgDominantColor

-- | <tt>white</tt> white
White :: CSEListImgDominantColor

-- | <tt>yellow</tt> yellow
Yellow :: CSEListImgDominantColor
data ResultImage

-- | Creates a value of <a>ResultImage</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>riThumbnailLink</a></li>
--   <li><a>riHeight</a></li>
--   <li><a>riByteSize</a></li>
--   <li><a>riContextLink</a></li>
--   <li><a>riThumbnailHeight</a></li>
--   <li><a>riWidth</a></li>
--   <li><a>riThumbnailWidth</a></li>
--   </ul>
resultImage :: ResultImage
riThumbnailLink :: Lens' ResultImage (Maybe Text)
riHeight :: Lens' ResultImage (Maybe Int32)
riByteSize :: Lens' ResultImage (Maybe Int32)
riContextLink :: Lens' ResultImage (Maybe Text)
riThumbnailHeight :: Lens' ResultImage (Maybe Int32)
riWidth :: Lens' ResultImage (Maybe Int32)
riThumbnailWidth :: Lens' ResultImage (Maybe Int32)

-- | Search safety level
data CSEListSafe

-- | <tt>high</tt> Enables highest level of safe search filtering.
High :: CSEListSafe

-- | <tt>medium</tt> Enables moderate safe search filtering.
Medium :: CSEListSafe

-- | <tt>off</tt> Disables safe search filtering.
Off :: CSEListSafe
data ResultPagemap

-- | Creates a value of <a>ResultPagemap</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rpAddtional</a></li>
--   </ul>
resultPagemap :: HashMap Text [ResultPagemapAdditionalItem] -> ResultPagemap
rpAddtional :: Lens' ResultPagemap (HashMap Text [ResultPagemapAdditionalItem])

-- | Returns black and white, grayscale, or color images: mono, gray, and
--   color.
data CSEListImgColorType

-- | <tt>color</tt> color
CSELICTColor :: CSEListImgColorType

-- | <tt>gray</tt> gray
CSELICTGray :: CSEListImgColorType

-- | <tt>mono</tt> mono
CSELICTMono :: CSEListImgColorType
data Result

-- | Creates a value of <a>Result</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rMime</a></li>
--   <li><a>rImage</a></li>
--   <li><a>rPagemap</a></li>
--   <li><a>rDisplayLink</a></li>
--   <li><a>rFileFormat</a></li>
--   <li><a>rSnippet</a></li>
--   <li><a>rKind</a></li>
--   <li><a>rLink</a></li>
--   <li><a>rHTMLSnippet</a></li>
--   <li><a>rHTMLFormattedURL</a></li>
--   <li><a>rCacheId</a></li>
--   <li><a>rFormattedURL</a></li>
--   <li><a>rHTMLTitle</a></li>
--   <li><a>rLabels</a></li>
--   <li><a>rTitle</a></li>
--   </ul>
result :: Result
rMime :: Lens' Result (Maybe Text)
rImage :: Lens' Result (Maybe ResultImage)
rPagemap :: Lens' Result (Maybe ResultPagemap)
rDisplayLink :: Lens' Result (Maybe Text)
rFileFormat :: Lens' Result (Maybe Text)
rSnippet :: Lens' Result (Maybe Text)
rKind :: Lens' Result Text
rLink :: Lens' Result (Maybe Text)
rHTMLSnippet :: Lens' Result (Maybe Text)
rHTMLFormattedURL :: Lens' Result (Maybe Text)
rCacheId :: Lens' Result (Maybe Text)
rFormattedURL :: Lens' Result (Maybe Text)
rHTMLTitle :: Lens' Result (Maybe Text)
rLabels :: Lens' Result [ResultLabelsItem]
rTitle :: Lens' Result (Maybe Text)
data ResultLabelsItem

-- | Creates a value of <a>ResultLabelsItem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rliName</a></li>
--   <li><a>rliDisplayName</a></li>
--   <li><a>rliLabelWithOp</a></li>
--   </ul>
resultLabelsItem :: ResultLabelsItem
rliName :: Lens' ResultLabelsItem (Maybe Text)
rliDisplayName :: Lens' ResultLabelsItem (Maybe Text)
rliLabelWithOp :: Lens' ResultLabelsItem (Maybe Text)
data SearchSearchInformation

-- | Creates a value of <a>SearchSearchInformation</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ssiSearchTime</a></li>
--   <li><a>ssiFormattedSearchTime</a></li>
--   <li><a>ssiTotalResults</a></li>
--   <li><a>ssiFormattedTotalResults</a></li>
--   </ul>
searchSearchInformation :: SearchSearchInformation
ssiSearchTime :: Lens' SearchSearchInformation (Maybe Double)
ssiFormattedSearchTime :: Lens' SearchSearchInformation (Maybe Text)
ssiTotalResults :: Lens' SearchSearchInformation (Maybe Int64)
ssiFormattedTotalResults :: Lens' SearchSearchInformation (Maybe Text)

-- | Controls turning on or off the duplicate content filter.
data CSEListFilter

-- | <tt>0</tt> Turns off duplicate content filter.
CSELF0 :: CSEListFilter

-- | <tt>1</tt> Turns on duplicate content filter.
CSELF1 :: CSEListFilter
data Query

-- | Creates a value of <a>Query</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>qImgDominantColor</a></li>
--   <li><a>qOutputEncoding</a></li>
--   <li><a>qSiteSearchFilter</a></li>
--   <li><a>qInputEncoding</a></li>
--   <li><a>qOrTerms</a></li>
--   <li><a>qSearchTerms</a></li>
--   <li><a>qStartPage</a></li>
--   <li><a>qRights</a></li>
--   <li><a>qCount</a></li>
--   <li><a>qExcludeTerms</a></li>
--   <li><a>qFileType</a></li>
--   <li><a>qSearchType</a></li>
--   <li><a>qGoogleHost</a></li>
--   <li><a>qDisableCnTwTranslation</a></li>
--   <li><a>qRelatedSite</a></li>
--   <li><a>qHl</a></li>
--   <li><a>qCref</a></li>
--   <li><a>qSort</a></li>
--   <li><a>qLanguage</a></li>
--   <li><a>qSiteSearch</a></li>
--   <li><a>qFilter</a></li>
--   <li><a>qTotalResults</a></li>
--   <li><a>qDateRestrict</a></li>
--   <li><a>qTitle</a></li>
--   <li><a>qLinkSite</a></li>
--   <li><a>qLowRange</a></li>
--   <li><a>qImgType</a></li>
--   <li><a>qGl</a></li>
--   <li><a>qCx</a></li>
--   <li><a>qImgColorType</a></li>
--   <li><a>qImgSize</a></li>
--   <li><a>qExactTerms</a></li>
--   <li><a>qStartIndex</a></li>
--   <li><a>qCr</a></li>
--   <li><a>qSafe</a></li>
--   <li><a>qHq</a></li>
--   <li><a>qHighRange</a></li>
--   </ul>
query :: Query
qImgDominantColor :: Lens' Query (Maybe Text)
qOutputEncoding :: Lens' Query (Maybe Text)
qSiteSearchFilter :: Lens' Query (Maybe Text)
qInputEncoding :: Lens' Query (Maybe Text)
qOrTerms :: Lens' Query (Maybe Text)
qSearchTerms :: Lens' Query (Maybe Text)
qStartPage :: Lens' Query (Maybe Int32)
qRights :: Lens' Query (Maybe Text)
qCount :: Lens' Query (Maybe Int32)
qExcludeTerms :: Lens' Query (Maybe Text)
qFileType :: Lens' Query (Maybe Text)
qSearchType :: Lens' Query (Maybe Text)
qGoogleHost :: Lens' Query (Maybe Text)
qDisableCnTwTranslation :: Lens' Query (Maybe Text)
qRelatedSite :: Lens' Query (Maybe Text)
qHl :: Lens' Query (Maybe Text)
qCref :: Lens' Query (Maybe Text)
qSort :: Lens' Query (Maybe Text)
qLanguage :: Lens' Query (Maybe Text)
qSiteSearch :: Lens' Query (Maybe Text)
qFilter :: Lens' Query (Maybe Text)
qTotalResults :: Lens' Query (Maybe Int64)
qDateRestrict :: Lens' Query (Maybe Text)
qTitle :: Lens' Query (Maybe Text)
qLinkSite :: Lens' Query (Maybe Text)
qLowRange :: Lens' Query (Maybe Text)
qImgType :: Lens' Query (Maybe Text)
qGl :: Lens' Query (Maybe Text)
qCx :: Lens' Query (Maybe Text)
qImgColorType :: Lens' Query (Maybe Text)
qImgSize :: Lens' Query (Maybe Text)
qExactTerms :: Lens' Query (Maybe Text)
qStartIndex :: Lens' Query (Maybe Int32)
qCr :: Lens' Query (Maybe Text)
qSafe :: Lens' Query (Maybe Text)
qHq :: Lens' Query (Maybe Text)
qHighRange :: Lens' Query (Maybe Text)
data PromotionBodyLinesItem

-- | Creates a value of <a>PromotionBodyLinesItem</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pbliLink</a></li>
--   <li><a>pbliURL</a></li>
--   <li><a>pbliHTMLTitle</a></li>
--   <li><a>pbliTitle</a></li>
--   </ul>
promotionBodyLinesItem :: PromotionBodyLinesItem
pbliLink :: Lens' PromotionBodyLinesItem (Maybe Text)
pbliURL :: Lens' PromotionBodyLinesItem (Maybe Text)
pbliHTMLTitle :: Lens' PromotionBodyLinesItem (Maybe Text)
pbliTitle :: Lens' PromotionBodyLinesItem (Maybe Text)
data Promotion

-- | Creates a value of <a>Promotion</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pImage</a></li>
--   <li><a>pDisplayLink</a></li>
--   <li><a>pBodyLines</a></li>
--   <li><a>pLink</a></li>
--   <li><a>pHTMLTitle</a></li>
--   <li><a>pTitle</a></li>
--   </ul>
promotion :: Promotion
pImage :: Lens' Promotion (Maybe PromotionImage)
pDisplayLink :: Lens' Promotion (Maybe Text)
pBodyLines :: Lens' Promotion [PromotionBodyLinesItem]
pLink :: Lens' Promotion (Maybe Text)
pHTMLTitle :: Lens' Promotion (Maybe Text)
pTitle :: Lens' Promotion (Maybe Text)
data Search

-- | Creates a value of <a>Search</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sQueries</a></li>
--   <li><a>sContext</a></li>
--   <li><a>sKind</a></li>
--   <li><a>sURL</a></li>
--   <li><a>sItems</a></li>
--   <li><a>sSearchInformation</a></li>
--   <li><a>sPromotions</a></li>
--   <li><a>sSpelling</a></li>
--   </ul>
search :: Search
sQueries :: Lens' Search (Maybe SearchQueries)
sContext :: Lens' Search (Maybe Context)
sKind :: Lens' Search Text
sURL :: Lens' Search (Maybe SearchURL)
sItems :: Lens' Search [Result]
sSearchInformation :: Lens' Search (Maybe SearchSearchInformation)
sPromotions :: Lens' Search [Promotion]
sSpelling :: Lens' Search (Maybe SearchSpelling)

-- | The language restriction for the search results
data CSEListLr

-- | <tt>lang_ar</tt> Arabic
LangAr :: CSEListLr

-- | <tt>lang_bg</tt> Bulgarian
LangBg :: CSEListLr

-- | <tt>lang_ca</tt> Catalan
LangCa :: CSEListLr

-- | <tt>lang_cs</tt> Czech
LangCs :: CSEListLr

-- | <tt>lang_da</tt> Danish
LangDa :: CSEListLr

-- | <tt>lang_de</tt> German
LangDe :: CSEListLr

-- | <tt>lang_el</tt> Greek
LangEl :: CSEListLr

-- | <tt>lang_en</tt> English
LangEn :: CSEListLr

-- | <tt>lang_es</tt> Spanish
LangEs :: CSEListLr

-- | <tt>lang_et</tt> Estonian
LangEt :: CSEListLr

-- | <tt>lang_fi</tt> Finnish
LangFi :: CSEListLr

-- | <tt>lang_fr</tt> French
LangFr :: CSEListLr

-- | <tt>lang_hr</tt> Croatian
LangHr :: CSEListLr

-- | <tt>lang_hu</tt> Hungarian
LangHu :: CSEListLr

-- | <tt>lang_id</tt> Indonesian
LangId :: CSEListLr

-- | <tt>lang_is</tt> Icelandic
LangIs :: CSEListLr

-- | <tt>lang_it</tt> Italian
LangIt :: CSEListLr

-- | <tt>lang_iw</tt> Hebrew
LangIw :: CSEListLr

-- | <tt>lang_ja</tt> Japanese
LangJa :: CSEListLr

-- | <tt>lang_ko</tt> Korean
LangKo :: CSEListLr

-- | <tt>lang_lt</tt> Lithuanian
LangLT :: CSEListLr

-- | <tt>lang_lv</tt> Latvian
LangLv :: CSEListLr

-- | <tt>lang_nl</tt> Dutch
LangNl :: CSEListLr

-- | <tt>lang_no</tt> Norwegian
LangNo :: CSEListLr

-- | <tt>lang_pl</tt> Polish
LangPl :: CSEListLr

-- | <tt>lang_pt</tt> Portuguese
LangPt :: CSEListLr

-- | <tt>lang_ro</tt> Romanian
LangRo :: CSEListLr

-- | <tt>lang_ru</tt> Russian
LangRu :: CSEListLr

-- | <tt>lang_sk</tt> Slovak
LangSk :: CSEListLr

-- | <tt>lang_sl</tt> Slovenian
LangSl :: CSEListLr

-- | <tt>lang_sr</tt> Serbian
LangSr :: CSEListLr

-- | <tt>lang_sv</tt> Swedish
LangSv :: CSEListLr

-- | <tt>lang_tr</tt> Turkish
LangTr :: CSEListLr

-- | <tt>lang_zh-CN</tt> Chinese (Simplified)
LangZhCn :: CSEListLr

-- | <tt>lang_zh-TW</tt> Chinese (Traditional)
LangZhTw :: CSEListLr
data ContextFacetsItemItem

-- | Creates a value of <a>ContextFacetsItemItem</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfiiAnchor</a></li>
--   <li><a>cfiiLabelWithOp</a></li>
--   <li><a>cfiiLabel</a></li>
--   </ul>
contextFacetsItemItem :: ContextFacetsItemItem
cfiiAnchor :: Lens' ContextFacetsItemItem (Maybe Text)
cfiiLabelWithOp :: Lens' ContextFacetsItemItem (Maybe Text)
cfiiLabel :: Lens' ContextFacetsItemItem (Maybe Text)

-- | Specifies the search type: image.
data CSEListSearchType

-- | <tt>image</tt> custom image search
Image :: CSEListSearchType

-- | Returns images of a specified size, where size can be one of: icon,
--   small, medium, large, xlarge, xxlarge, and huge.
data CSEListImgSize

-- | <tt>huge</tt> huge
CSELISHuge :: CSEListImgSize

-- | <tt>icon</tt> icon
CSELISIcon :: CSEListImgSize

-- | <tt>large</tt> large
CSELISLarge :: CSEListImgSize

-- | <tt>medium</tt> medium
CSELISMedium :: CSEListImgSize

-- | <tt>small</tt> small
CSELISSmall :: CSEListImgSize

-- | <tt>xlarge</tt> xlarge
CSELISXlarge :: CSEListImgSize

-- | <tt>xxlarge</tt> xxlarge
CSELISXxlarge :: CSEListImgSize


-- | Returns metadata about the search performed, metadata about the custom
--   search engine used for the search, and the search results.
--   
--   <i>See:</i> <a>CustomSearch API Reference</a> for
--   <tt>search.cse.list</tt>.
module Network.Google.Resource.Search.CSE.List

-- | A resource alias for <tt>search.cse.list</tt> method which the
--   <a>CSEList</a> request conforms to.
type CSEListResource = "customsearch" :> ("v1" :> (QueryParam "q" Text :> (QueryParam "imgDominantColor" CSEListImgDominantColor :> (QueryParam "siteSearchFilter" CSEListSiteSearchFilter :> (QueryParam "c2coff" Text :> (QueryParam "orTerms" Text :> (QueryParam "start" (Textual Word32) :> (QueryParam "rights" Text :> (QueryParam "excludeTerms" Text :> (QueryParam "num" (Textual Word32) :> (QueryParam "fileType" Text :> (QueryParam "searchType" CSEListSearchType :> (QueryParam "lr" CSEListLr :> (QueryParam "googlehost" Text :> (QueryParam "relatedSite" Text :> (QueryParam "hl" Text :> (QueryParam "cref" Text :> (QueryParam "sort" Text :> (QueryParam "siteSearch" Text :> (QueryParam "filter" CSEListFilter :> (QueryParam "dateRestrict" Text :> (QueryParam "linkSite" Text :> (QueryParam "lowRange" Text :> (QueryParam "imgType" CSEListImgType :> (QueryParam "gl" Text :> (QueryParam "cx" Text :> (QueryParam "imgColorType" CSEListImgColorType :> (QueryParam "imgSize" CSEListImgSize :> (QueryParam "exactTerms" Text :> (QueryParam "cr" Text :> (QueryParam "safe" CSEListSafe :> (QueryParam "hq" Text :> (QueryParam "highRange" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Search))))))))))))))))))))))))))))))))))

-- | Creates a value of <a>CSEList</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cselImgDominantColor</a></li>
--   <li><a>cselSiteSearchFilter</a></li>
--   <li><a>cselC2coff</a></li>
--   <li><a>cselOrTerms</a></li>
--   <li><a>cselStart</a></li>
--   <li><a>cselRights</a></li>
--   <li><a>cselExcludeTerms</a></li>
--   <li><a>cselNum</a></li>
--   <li><a>cselFileType</a></li>
--   <li><a>cselSearchType</a></li>
--   <li><a>cselLr</a></li>
--   <li><a>cselQ</a></li>
--   <li><a>cselGooglehost</a></li>
--   <li><a>cselRelatedSite</a></li>
--   <li><a>cselHl</a></li>
--   <li><a>cselCref</a></li>
--   <li><a>cselSort</a></li>
--   <li><a>cselSiteSearch</a></li>
--   <li><a>cselFilter</a></li>
--   <li><a>cselDateRestrict</a></li>
--   <li><a>cselLinkSite</a></li>
--   <li><a>cselLowRange</a></li>
--   <li><a>cselImgType</a></li>
--   <li><a>cselGl</a></li>
--   <li><a>cselCx</a></li>
--   <li><a>cselImgColorType</a></li>
--   <li><a>cselImgSize</a></li>
--   <li><a>cselExactTerms</a></li>
--   <li><a>cselCr</a></li>
--   <li><a>cselSafe</a></li>
--   <li><a>cselHq</a></li>
--   <li><a>cselHighRange</a></li>
--   </ul>
cSEList :: Text -> CSEList

-- | Returns metadata about the search performed, metadata about the custom
--   search engine used for the search, and the search results.
--   
--   <i>See:</i> <a>cSEList</a> smart constructor.
data CSEList

-- | Returns images of a specific dominant color: yellow, green, teal,
--   blue, purple, pink, white, gray, black and brown.
cselImgDominantColor :: Lens' CSEList (Maybe CSEListImgDominantColor)

-- | Controls whether to include or exclude results from the site named in
--   the as_sitesearch parameter
cselSiteSearchFilter :: Lens' CSEList (Maybe CSEListSiteSearchFilter)

-- | Turns off the translation between zh-CN and zh-TW.
cselC2coff :: Lens' CSEList (Maybe Text)

-- | Provides additional search terms to check for in a document, where
--   each document in the search results must contain at least one of the
--   additional search terms
cselOrTerms :: Lens' CSEList (Maybe Text)

-- | The index of the first result to return
cselStart :: Lens' CSEList (Maybe Word32)

-- | Filters based on licensing. Supported values include: cc_publicdomain,
--   cc_attribute, cc_sharealike, cc_noncommercial, cc_nonderived and
--   combinations of these.
cselRights :: Lens' CSEList (Maybe Text)

-- | Identifies a word or phrase that should not appear in any documents in
--   the search results
cselExcludeTerms :: Lens' CSEList (Maybe Text)

-- | Number of search results to return
cselNum :: Lens' CSEList Word32

-- | Returns images of a specified type. Some of the allowed values are:
--   bmp, gif, png, jpg, svg, pdf, ...
cselFileType :: Lens' CSEList (Maybe Text)

-- | Specifies the search type: image.
cselSearchType :: Lens' CSEList (Maybe CSEListSearchType)

-- | The language restriction for the search results
cselLr :: Lens' CSEList (Maybe CSEListLr)

-- | Query
cselQ :: Lens' CSEList Text

-- | The local Google domain to use to perform the search.
cselGooglehost :: Lens' CSEList (Maybe Text)

-- | Specifies that all search results should be pages that are related to
--   the specified URL
cselRelatedSite :: Lens' CSEList (Maybe Text)

-- | Sets the user interface language.
cselHl :: Lens' CSEList (Maybe Text)

-- | The URL of a linked custom search engine
cselCref :: Lens' CSEList (Maybe Text)

-- | The sort expression to apply to the results
cselSort :: Lens' CSEList (Maybe Text)

-- | Specifies all search results should be pages from a given site
cselSiteSearch :: Lens' CSEList (Maybe Text)

-- | Controls turning on or off the duplicate content filter.
cselFilter :: Lens' CSEList (Maybe CSEListFilter)

-- | Specifies all search results are from a time period
cselDateRestrict :: Lens' CSEList (Maybe Text)

-- | Specifies that all search results should contain a link to a
--   particular URL
cselLinkSite :: Lens' CSEList (Maybe Text)

-- | Creates a range in form as_nlo value..as_nhi value and attempts to
--   append it to query
cselLowRange :: Lens' CSEList (Maybe Text)

-- | Returns images of a type, which can be one of: clipart, face, lineart,
--   news, and photo.
cselImgType :: Lens' CSEList (Maybe CSEListImgType)

-- | Geolocation of end user.
cselGl :: Lens' CSEList (Maybe Text)

-- | The custom search engine ID to scope this search query
cselCx :: Lens' CSEList (Maybe Text)

-- | Returns black and white, grayscale, or color images: mono, gray, and
--   color.
cselImgColorType :: Lens' CSEList (Maybe CSEListImgColorType)

-- | Returns images of a specified size, where size can be one of: icon,
--   small, medium, large, xlarge, xxlarge, and huge.
cselImgSize :: Lens' CSEList (Maybe CSEListImgSize)

-- | Identifies a phrase that all documents in the search results must
--   contain
cselExactTerms :: Lens' CSEList (Maybe Text)

-- | Country restrict(s).
cselCr :: Lens' CSEList (Maybe Text)

-- | Search safety level
cselSafe :: Lens' CSEList CSEListSafe

-- | Appends the extra query terms to the query.
cselHq :: Lens' CSEList (Maybe Text)

-- | Creates a range in form as_nlo value..as_nhi value and attempts to
--   append it to query
cselHighRange :: Lens' CSEList (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.Search.CSE.List.CSEList
instance Data.Data.Data Network.Google.Resource.Search.CSE.List.CSEList
instance GHC.Show.Show Network.Google.Resource.Search.CSE.List.CSEList
instance GHC.Classes.Eq Network.Google.Resource.Search.CSE.List.CSEList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Search.CSE.List.CSEList


-- | Lets you search over a website or collection of websites
--   
--   <i>See:</i> <a>CustomSearch API Reference</a>
module Network.Google.CustomSearch

-- | Default request referring to version <tt>v1</tt> of the CustomSearch
--   API. This contains the host and root path used as a starting point for
--   constructing service requests.
customSearchService :: ServiceConfig

-- | Represents the entirety of the methods and resources available for the
--   CustomSearch API service.
type CustomSearchAPI = CSEListResource

-- | Returns images of a type, which can be one of: clipart, face, lineart,
--   news, and photo.
data CSEListImgType

-- | <tt>clipart</tt> clipart
CliPart :: CSEListImgType

-- | <tt>face</tt> face
Face :: CSEListImgType

-- | <tt>lineart</tt> lineart
Lineart :: CSEListImgType

-- | <tt>news</tt> news
News :: CSEListImgType

-- | <tt>photo</tt> photo
Photo :: CSEListImgType
data PromotionImage

-- | Creates a value of <a>PromotionImage</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>piHeight</a></li>
--   <li><a>piWidth</a></li>
--   <li><a>piSource</a></li>
--   </ul>
promotionImage :: PromotionImage
piHeight :: Lens' PromotionImage (Maybe Int32)
piWidth :: Lens' PromotionImage (Maybe Int32)
piSource :: Lens' PromotionImage (Maybe Text)
data Context

-- | Creates a value of <a>Context</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cFacets</a></li>
--   <li><a>cTitle</a></li>
--   </ul>
context :: Context
cFacets :: Lens' Context [[ContextFacetsItemItem]]
cTitle :: Lens' Context (Maybe Text)

-- | Controls whether to include or exclude results from the site named in
--   the as_sitesearch parameter
data CSEListSiteSearchFilter

-- | <tt>e</tt> exclude
E :: CSEListSiteSearchFilter

-- | <tt>i</tt> include
I :: CSEListSiteSearchFilter
data SearchQueries

-- | Creates a value of <a>SearchQueries</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sqAddtional</a></li>
--   </ul>
searchQueries :: HashMap Text [Query] -> SearchQueries
sqAddtional :: Lens' SearchQueries (HashMap Text [Query])
data ResultPagemapAdditionalItem

-- | Creates a value of <a>ResultPagemapAdditionalItem</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rpaiAddtional</a></li>
--   </ul>
resultPagemapAdditionalItem :: HashMap Text JSONValue -> ResultPagemapAdditionalItem
rpaiAddtional :: Lens' ResultPagemapAdditionalItem (HashMap Text JSONValue)
data SearchURL

-- | Creates a value of <a>SearchURL</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>suType</a></li>
--   <li><a>suTemplate</a></li>
--   </ul>
searchURL :: SearchURL
suType :: Lens' SearchURL Text
suTemplate :: Lens' SearchURL Text
data SearchSpelling

-- | Creates a value of <a>SearchSpelling</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ssCorrectedQuery</a></li>
--   <li><a>ssHTMLCorrectedQuery</a></li>
--   </ul>
searchSpelling :: SearchSpelling
ssCorrectedQuery :: Lens' SearchSpelling (Maybe Text)
ssHTMLCorrectedQuery :: Lens' SearchSpelling (Maybe Text)

-- | Returns images of a specific dominant color: yellow, green, teal,
--   blue, purple, pink, white, gray, black and brown.
data CSEListImgDominantColor

-- | <tt>black</tt> black
Black :: CSEListImgDominantColor

-- | <tt>blue</tt> blue
Blue :: CSEListImgDominantColor

-- | <tt>brown</tt> brown
Brown :: CSEListImgDominantColor

-- | <tt>gray</tt> gray
Gray :: CSEListImgDominantColor

-- | <tt>green</tt> green
Green :: CSEListImgDominantColor

-- | <tt>pink</tt> pink
Pink :: CSEListImgDominantColor

-- | <tt>purple</tt> purple
Purple :: CSEListImgDominantColor

-- | <tt>teal</tt> teal
Teal :: CSEListImgDominantColor

-- | <tt>white</tt> white
White :: CSEListImgDominantColor

-- | <tt>yellow</tt> yellow
Yellow :: CSEListImgDominantColor
data ResultImage

-- | Creates a value of <a>ResultImage</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>riThumbnailLink</a></li>
--   <li><a>riHeight</a></li>
--   <li><a>riByteSize</a></li>
--   <li><a>riContextLink</a></li>
--   <li><a>riThumbnailHeight</a></li>
--   <li><a>riWidth</a></li>
--   <li><a>riThumbnailWidth</a></li>
--   </ul>
resultImage :: ResultImage
riThumbnailLink :: Lens' ResultImage (Maybe Text)
riHeight :: Lens' ResultImage (Maybe Int32)
riByteSize :: Lens' ResultImage (Maybe Int32)
riContextLink :: Lens' ResultImage (Maybe Text)
riThumbnailHeight :: Lens' ResultImage (Maybe Int32)
riWidth :: Lens' ResultImage (Maybe Int32)
riThumbnailWidth :: Lens' ResultImage (Maybe Int32)

-- | Search safety level
data CSEListSafe

-- | <tt>high</tt> Enables highest level of safe search filtering.
High :: CSEListSafe

-- | <tt>medium</tt> Enables moderate safe search filtering.
Medium :: CSEListSafe

-- | <tt>off</tt> Disables safe search filtering.
Off :: CSEListSafe
data ResultPagemap

-- | Creates a value of <a>ResultPagemap</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rpAddtional</a></li>
--   </ul>
resultPagemap :: HashMap Text [ResultPagemapAdditionalItem] -> ResultPagemap
rpAddtional :: Lens' ResultPagemap (HashMap Text [ResultPagemapAdditionalItem])

-- | Returns black and white, grayscale, or color images: mono, gray, and
--   color.
data CSEListImgColorType

-- | <tt>color</tt> color
CSELICTColor :: CSEListImgColorType

-- | <tt>gray</tt> gray
CSELICTGray :: CSEListImgColorType

-- | <tt>mono</tt> mono
CSELICTMono :: CSEListImgColorType
data Result

-- | Creates a value of <a>Result</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rMime</a></li>
--   <li><a>rImage</a></li>
--   <li><a>rPagemap</a></li>
--   <li><a>rDisplayLink</a></li>
--   <li><a>rFileFormat</a></li>
--   <li><a>rSnippet</a></li>
--   <li><a>rKind</a></li>
--   <li><a>rLink</a></li>
--   <li><a>rHTMLSnippet</a></li>
--   <li><a>rHTMLFormattedURL</a></li>
--   <li><a>rCacheId</a></li>
--   <li><a>rFormattedURL</a></li>
--   <li><a>rHTMLTitle</a></li>
--   <li><a>rLabels</a></li>
--   <li><a>rTitle</a></li>
--   </ul>
result :: Result
rMime :: Lens' Result (Maybe Text)
rImage :: Lens' Result (Maybe ResultImage)
rPagemap :: Lens' Result (Maybe ResultPagemap)
rDisplayLink :: Lens' Result (Maybe Text)
rFileFormat :: Lens' Result (Maybe Text)
rSnippet :: Lens' Result (Maybe Text)
rKind :: Lens' Result Text
rLink :: Lens' Result (Maybe Text)
rHTMLSnippet :: Lens' Result (Maybe Text)
rHTMLFormattedURL :: Lens' Result (Maybe Text)
rCacheId :: Lens' Result (Maybe Text)
rFormattedURL :: Lens' Result (Maybe Text)
rHTMLTitle :: Lens' Result (Maybe Text)
rLabels :: Lens' Result [ResultLabelsItem]
rTitle :: Lens' Result (Maybe Text)
data ResultLabelsItem

-- | Creates a value of <a>ResultLabelsItem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rliName</a></li>
--   <li><a>rliDisplayName</a></li>
--   <li><a>rliLabelWithOp</a></li>
--   </ul>
resultLabelsItem :: ResultLabelsItem
rliName :: Lens' ResultLabelsItem (Maybe Text)
rliDisplayName :: Lens' ResultLabelsItem (Maybe Text)
rliLabelWithOp :: Lens' ResultLabelsItem (Maybe Text)
data SearchSearchInformation

-- | Creates a value of <a>SearchSearchInformation</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ssiSearchTime</a></li>
--   <li><a>ssiFormattedSearchTime</a></li>
--   <li><a>ssiTotalResults</a></li>
--   <li><a>ssiFormattedTotalResults</a></li>
--   </ul>
searchSearchInformation :: SearchSearchInformation
ssiSearchTime :: Lens' SearchSearchInformation (Maybe Double)
ssiFormattedSearchTime :: Lens' SearchSearchInformation (Maybe Text)
ssiTotalResults :: Lens' SearchSearchInformation (Maybe Int64)
ssiFormattedTotalResults :: Lens' SearchSearchInformation (Maybe Text)

-- | Controls turning on or off the duplicate content filter.
data CSEListFilter

-- | <tt>0</tt> Turns off duplicate content filter.
CSELF0 :: CSEListFilter

-- | <tt>1</tt> Turns on duplicate content filter.
CSELF1 :: CSEListFilter
data Query

-- | Creates a value of <a>Query</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>qImgDominantColor</a></li>
--   <li><a>qOutputEncoding</a></li>
--   <li><a>qSiteSearchFilter</a></li>
--   <li><a>qInputEncoding</a></li>
--   <li><a>qOrTerms</a></li>
--   <li><a>qSearchTerms</a></li>
--   <li><a>qStartPage</a></li>
--   <li><a>qRights</a></li>
--   <li><a>qCount</a></li>
--   <li><a>qExcludeTerms</a></li>
--   <li><a>qFileType</a></li>
--   <li><a>qSearchType</a></li>
--   <li><a>qGoogleHost</a></li>
--   <li><a>qDisableCnTwTranslation</a></li>
--   <li><a>qRelatedSite</a></li>
--   <li><a>qHl</a></li>
--   <li><a>qCref</a></li>
--   <li><a>qSort</a></li>
--   <li><a>qLanguage</a></li>
--   <li><a>qSiteSearch</a></li>
--   <li><a>qFilter</a></li>
--   <li><a>qTotalResults</a></li>
--   <li><a>qDateRestrict</a></li>
--   <li><a>qTitle</a></li>
--   <li><a>qLinkSite</a></li>
--   <li><a>qLowRange</a></li>
--   <li><a>qImgType</a></li>
--   <li><a>qGl</a></li>
--   <li><a>qCx</a></li>
--   <li><a>qImgColorType</a></li>
--   <li><a>qImgSize</a></li>
--   <li><a>qExactTerms</a></li>
--   <li><a>qStartIndex</a></li>
--   <li><a>qCr</a></li>
--   <li><a>qSafe</a></li>
--   <li><a>qHq</a></li>
--   <li><a>qHighRange</a></li>
--   </ul>
query :: Query
qImgDominantColor :: Lens' Query (Maybe Text)
qOutputEncoding :: Lens' Query (Maybe Text)
qSiteSearchFilter :: Lens' Query (Maybe Text)
qInputEncoding :: Lens' Query (Maybe Text)
qOrTerms :: Lens' Query (Maybe Text)
qSearchTerms :: Lens' Query (Maybe Text)
qStartPage :: Lens' Query (Maybe Int32)
qRights :: Lens' Query (Maybe Text)
qCount :: Lens' Query (Maybe Int32)
qExcludeTerms :: Lens' Query (Maybe Text)
qFileType :: Lens' Query (Maybe Text)
qSearchType :: Lens' Query (Maybe Text)
qGoogleHost :: Lens' Query (Maybe Text)
qDisableCnTwTranslation :: Lens' Query (Maybe Text)
qRelatedSite :: Lens' Query (Maybe Text)
qHl :: Lens' Query (Maybe Text)
qCref :: Lens' Query (Maybe Text)
qSort :: Lens' Query (Maybe Text)
qLanguage :: Lens' Query (Maybe Text)
qSiteSearch :: Lens' Query (Maybe Text)
qFilter :: Lens' Query (Maybe Text)
qTotalResults :: Lens' Query (Maybe Int64)
qDateRestrict :: Lens' Query (Maybe Text)
qTitle :: Lens' Query (Maybe Text)
qLinkSite :: Lens' Query (Maybe Text)
qLowRange :: Lens' Query (Maybe Text)
qImgType :: Lens' Query (Maybe Text)
qGl :: Lens' Query (Maybe Text)
qCx :: Lens' Query (Maybe Text)
qImgColorType :: Lens' Query (Maybe Text)
qImgSize :: Lens' Query (Maybe Text)
qExactTerms :: Lens' Query (Maybe Text)
qStartIndex :: Lens' Query (Maybe Int32)
qCr :: Lens' Query (Maybe Text)
qSafe :: Lens' Query (Maybe Text)
qHq :: Lens' Query (Maybe Text)
qHighRange :: Lens' Query (Maybe Text)
data PromotionBodyLinesItem

-- | Creates a value of <a>PromotionBodyLinesItem</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pbliLink</a></li>
--   <li><a>pbliURL</a></li>
--   <li><a>pbliHTMLTitle</a></li>
--   <li><a>pbliTitle</a></li>
--   </ul>
promotionBodyLinesItem :: PromotionBodyLinesItem
pbliLink :: Lens' PromotionBodyLinesItem (Maybe Text)
pbliURL :: Lens' PromotionBodyLinesItem (Maybe Text)
pbliHTMLTitle :: Lens' PromotionBodyLinesItem (Maybe Text)
pbliTitle :: Lens' PromotionBodyLinesItem (Maybe Text)
data Promotion

-- | Creates a value of <a>Promotion</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pImage</a></li>
--   <li><a>pDisplayLink</a></li>
--   <li><a>pBodyLines</a></li>
--   <li><a>pLink</a></li>
--   <li><a>pHTMLTitle</a></li>
--   <li><a>pTitle</a></li>
--   </ul>
promotion :: Promotion
pImage :: Lens' Promotion (Maybe PromotionImage)
pDisplayLink :: Lens' Promotion (Maybe Text)
pBodyLines :: Lens' Promotion [PromotionBodyLinesItem]
pLink :: Lens' Promotion (Maybe Text)
pHTMLTitle :: Lens' Promotion (Maybe Text)
pTitle :: Lens' Promotion (Maybe Text)
data Search

-- | Creates a value of <a>Search</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sQueries</a></li>
--   <li><a>sContext</a></li>
--   <li><a>sKind</a></li>
--   <li><a>sURL</a></li>
--   <li><a>sItems</a></li>
--   <li><a>sSearchInformation</a></li>
--   <li><a>sPromotions</a></li>
--   <li><a>sSpelling</a></li>
--   </ul>
search :: Search
sQueries :: Lens' Search (Maybe SearchQueries)
sContext :: Lens' Search (Maybe Context)
sKind :: Lens' Search Text
sURL :: Lens' Search (Maybe SearchURL)
sItems :: Lens' Search [Result]
sSearchInformation :: Lens' Search (Maybe SearchSearchInformation)
sPromotions :: Lens' Search [Promotion]
sSpelling :: Lens' Search (Maybe SearchSpelling)

-- | The language restriction for the search results
data CSEListLr

-- | <tt>lang_ar</tt> Arabic
LangAr :: CSEListLr

-- | <tt>lang_bg</tt> Bulgarian
LangBg :: CSEListLr

-- | <tt>lang_ca</tt> Catalan
LangCa :: CSEListLr

-- | <tt>lang_cs</tt> Czech
LangCs :: CSEListLr

-- | <tt>lang_da</tt> Danish
LangDa :: CSEListLr

-- | <tt>lang_de</tt> German
LangDe :: CSEListLr

-- | <tt>lang_el</tt> Greek
LangEl :: CSEListLr

-- | <tt>lang_en</tt> English
LangEn :: CSEListLr

-- | <tt>lang_es</tt> Spanish
LangEs :: CSEListLr

-- | <tt>lang_et</tt> Estonian
LangEt :: CSEListLr

-- | <tt>lang_fi</tt> Finnish
LangFi :: CSEListLr

-- | <tt>lang_fr</tt> French
LangFr :: CSEListLr

-- | <tt>lang_hr</tt> Croatian
LangHr :: CSEListLr

-- | <tt>lang_hu</tt> Hungarian
LangHu :: CSEListLr

-- | <tt>lang_id</tt> Indonesian
LangId :: CSEListLr

-- | <tt>lang_is</tt> Icelandic
LangIs :: CSEListLr

-- | <tt>lang_it</tt> Italian
LangIt :: CSEListLr

-- | <tt>lang_iw</tt> Hebrew
LangIw :: CSEListLr

-- | <tt>lang_ja</tt> Japanese
LangJa :: CSEListLr

-- | <tt>lang_ko</tt> Korean
LangKo :: CSEListLr

-- | <tt>lang_lt</tt> Lithuanian
LangLT :: CSEListLr

-- | <tt>lang_lv</tt> Latvian
LangLv :: CSEListLr

-- | <tt>lang_nl</tt> Dutch
LangNl :: CSEListLr

-- | <tt>lang_no</tt> Norwegian
LangNo :: CSEListLr

-- | <tt>lang_pl</tt> Polish
LangPl :: CSEListLr

-- | <tt>lang_pt</tt> Portuguese
LangPt :: CSEListLr

-- | <tt>lang_ro</tt> Romanian
LangRo :: CSEListLr

-- | <tt>lang_ru</tt> Russian
LangRu :: CSEListLr

-- | <tt>lang_sk</tt> Slovak
LangSk :: CSEListLr

-- | <tt>lang_sl</tt> Slovenian
LangSl :: CSEListLr

-- | <tt>lang_sr</tt> Serbian
LangSr :: CSEListLr

-- | <tt>lang_sv</tt> Swedish
LangSv :: CSEListLr

-- | <tt>lang_tr</tt> Turkish
LangTr :: CSEListLr

-- | <tt>lang_zh-CN</tt> Chinese (Simplified)
LangZhCn :: CSEListLr

-- | <tt>lang_zh-TW</tt> Chinese (Traditional)
LangZhTw :: CSEListLr
data ContextFacetsItemItem

-- | Creates a value of <a>ContextFacetsItemItem</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfiiAnchor</a></li>
--   <li><a>cfiiLabelWithOp</a></li>
--   <li><a>cfiiLabel</a></li>
--   </ul>
contextFacetsItemItem :: ContextFacetsItemItem
cfiiAnchor :: Lens' ContextFacetsItemItem (Maybe Text)
cfiiLabelWithOp :: Lens' ContextFacetsItemItem (Maybe Text)
cfiiLabel :: Lens' ContextFacetsItemItem (Maybe Text)

-- | Specifies the search type: image.
data CSEListSearchType

-- | <tt>image</tt> custom image search
Image :: CSEListSearchType

-- | Returns images of a specified size, where size can be one of: icon,
--   small, medium, large, xlarge, xxlarge, and huge.
data CSEListImgSize

-- | <tt>huge</tt> huge
CSELISHuge :: CSEListImgSize

-- | <tt>icon</tt> icon
CSELISIcon :: CSEListImgSize

-- | <tt>large</tt> large
CSELISLarge :: CSEListImgSize

-- | <tt>medium</tt> medium
CSELISMedium :: CSEListImgSize

-- | <tt>small</tt> small
CSELISSmall :: CSEListImgSize

-- | <tt>xlarge</tt> xlarge
CSELISXlarge :: CSEListImgSize

-- | <tt>xxlarge</tt> xxlarge
CSELISXxlarge :: CSEListImgSize
