import { SearchQuery, SearchHits } from '@algolia/client-search'; import { Categories } from '../components/SearchButton/SearchButton'; export declare const ALGOLIA_INDEX: { readonly CCIP_CHAINS: "CCIP Network"; readonly CCIP_LANES: "CCIP Lane"; readonly CCIP_TOKENS: "CCIP Tokens"; readonly CCIP_TOKENS_ON_NETWORK: "CCIP Tokens on Network"; readonly LINK_TOKENS: "LINK Token"; readonly DATA_FEED: "Data Feed"; readonly DATA_STREAMS: "Data Stream"; readonly DATA_STREAMS_NETWORK: "Data Stream Network"; readonly FAUCET: "Faucet"; readonly SITE: "Site"; readonly DOCUMENTATION: "Documentation"; readonly QUICKSTART: "Quickstart"; readonly GUIDE: "Guide"; readonly TUTORIAL: "Tutorial"; readonly CHANGELOG: "Changelog"; readonly BOOTCAMP: "Bootcamp"; readonly BLOG_NEW: "blog_new"; readonly VIDEO: "Video"; }; export declare const CCIP_TRANSACTION_INDEX = "Transaction"; export declare const ALGOLIA_INDEX_MERGE: { readonly CCIP_TOKENS: "CCIP Token"; readonly BLOG: "Blog"; }; export declare const MERGED_INDEXES: readonly [{ readonly mergedName: "CCIP Token"; readonly indexes: readonly ["CCIP Tokens on Network", "CCIP Tokens"]; }, { readonly mergedName: "Blog"; readonly indexes: readonly ["blog_new"]; }]; export declare const ALGOLIA_INDEXES: ("CCIP Network" | "CCIP Lane" | "CCIP Tokens" | "CCIP Tokens on Network" | "LINK Token" | "Data Feed" | "Data Stream" | "Data Stream Network" | "Faucet" | "Site" | "Documentation" | "Quickstart" | "Guide" | "Tutorial" | "Changelog" | "Bootcamp" | "blog_new" | "Video")[]; export declare const getPluralCategory: (category: string) => string; export declare const getSearchRequests: (query?: string, categoryOrder?: Categories, categoriesToShow?: Categories) => SearchQuery[]; export type AlgoliaIndexRecord = { objectID: string; name?: string; link?: string; url_without_variables?: string; }; export type AlgoliaParsedResultItem> = { uniqueId: string; index: string; link: string; label: string; subLabel?: string; img?: string | string[]; isExternal: boolean; originalCategory?: string; isLargeImage: boolean; } & T; export type DataFeedIndexData = { page: string; proxyAddress: string; proxyAddressLink: string; tags: string[]; networkType: string; assetName: string | null; baseAsset: string; }; export type CcipChainIndexData = { routerLink: string; routerLabel: string; chainSelectorLabel: string; feeTokenLabel: string; feeTokenLink: string; status?: 'decommissioned'; }; export type DirectoryIndexData = { addressLabel: string; addressLink: string; token: string; }; export type CcipLanesIndexData = { onRampLabel: string; onRampLink: string; }; export type CcipTokensIndexData = { chainType: string; networksCount: number; networks: { img: string; network: string; }[]; }; export type CcipTokensOnNetworkIndexData = { chainType: string; network: string; tokenAddressLabel: string; tokenAddressLink: string; tokenPoolAddressLabel: string; tokenPoolAddressLink: string; }; export type ChangelogIndexData = { changeType: string; changeDescription: string; slug: string; }; export type BlogIndexData = { description: string; }; export type DataStreamsIndexData = { contractAddress: string; feedId: string; networks: { logoUrl: string; network: string; verifierProxy?: string; verifierProgramId?: string; accessController?: string; explorerUrl: string; label: string; }[]; }; export type DataStreamsNetworkData = { logoUrl: string; network: string; verifierProxy?: string; verifierProgramId?: string; accessController?: string; url: string; label: string; }; export type FaucetsIndexData = { drips: string; faucetType: 'LINK' | 'Native'; }; export type CcipTransactionIndexData = { messageId: string; sourceChain: string; destinationChain: string; sender: string; receiver: string; timestamp: string; status: 'pending' | 'completed' | 'failed'; tokenAddress?: string; amount?: string; feeToken?: string; feeAmount?: string; txHash?: string; blockNumber?: number; }; export type SearchResult = AlgoliaParsedResultItem | AlgoliaParsedResultItem | AlgoliaParsedResultItem | AlgoliaParsedResultItem | AlgoliaParsedResultItem | AlgoliaParsedResultItem | AlgoliaParsedResultItem | AlgoliaParsedResultItem | AlgoliaParsedResultItem | AlgoliaParsedResultItem | AlgoliaParsedResultItem | AlgoliaParsedResultItem> | (AlgoliaParsedResultItem & { originalIndex?: string; }); export type HitHierarchy = { lvl0?: { value: string; matchLevel: 'full' | 'none' | 'partial'; fullyHighlighted: boolean; }; lvl1?: { value: string; matchLevel: 'full' | 'none' | 'partial'; fullyHighlighted: boolean; }; lvl2?: { value: string; matchLevel: 'full' | 'none' | 'partial'; fullyHighlighted: boolean; }; content?: { value: string; matchLevel: 'full' | 'none' | 'partial'; fullyHighlighted: boolean; }; } | undefined; export type Hierarchy = { lvl0: string; lvl1?: string; lvl2?: string; content?: string; }; /** * Produces a list of hits (array of arrays) separated by index. * It's a simplified SearchResponses from Algolia API call * ``` * [ * [ * { name: 'item1', link: 'link1', index: 'indexA' }, * { name: 'item2', link: 'link2', index: 'indexA' } * ], * [ * { name: 'item3', link: 'link3', index: 'indexB' }, * ], * ] * ``` */ export declare const getParsedResults: (algoliaResults: SearchHits[], searchTerm: string | null) => SearchResult[][]; export declare const getSuggestedResults: (algoliaResults: SearchResult[][], limit?: number) => SearchResult[]; /** * This moves the items in priority to the beginning of the list, and * keeps the rest in the original order. * * @param existingCategories * @param priorityList * @returns new array with sorted categories */ export declare const mountSortedCategories: (existingCategories: string[], priorityList: Categories) => string[]; export declare const highlightText: (text: string) => string; //# sourceMappingURL=algolia.d.ts.map