import { QueryModuleResponse } from '@iconizza/api-redundancy'; /** * Params for sendQuery() */ interface IconizzaAPIIconsQueryParams { type: 'icons'; provider: string; prefix: string; icons: string[]; } interface IconizzaAPICustomQueryParams { type: 'custom'; provider?: string; uri: string; } type IconizzaAPIQueryParams = IconizzaAPIIconsQueryParams | IconizzaAPICustomQueryParams; /** * Functions to implement in module */ type IconizzaAPIPrepareIconsQuery = (provider: string, prefix: string, icons: string[]) => IconizzaAPIIconsQueryParams[]; type IconizzaAPISendQuery = (host: string, params: IconizzaAPIQueryParams, callback: QueryModuleResponse) => void; /** * API modules */ interface IconizzaAPIModule { prepare: IconizzaAPIPrepareIconsQuery; send: IconizzaAPISendQuery; } /** * Set API module */ declare function setAPIModule(provider: string, item: IconizzaAPIModule): void; /** * Get API module */ declare function getAPIModule(provider: string): IconizzaAPIModule | undefined; export { IconizzaAPICustomQueryParams, IconizzaAPIIconsQueryParams, IconizzaAPIModule, IconizzaAPIPrepareIconsQuery, IconizzaAPIQueryParams, IconizzaAPISendQuery, getAPIModule, setAPIModule };