import { Service } from './services/init'; import { TrackerConfig } from './services/tracker'; import { UrlConfig } from './services/url'; import { BreadcrumbsOpts } from './tags/breadcrumbs/gb-breadcrumbs'; import { CollectionsOpts } from './tags/collections/gb-collections'; import { DetailsOpts } from './tags/details/gb-details'; import { FilterOpts } from './tags/filter/gb-filter'; import { NavigationOpts } from './tags/navigation/gb-navigation'; import { PageSizeOpts } from './tags/page-size/gb-page-size'; import { PagingOpts } from './tags/paging/gb-paging'; import { QueryOpts } from './tags/query/gb-query'; import { SaytOpts } from './tags/sayt/gb-sayt'; import { SortOpts } from './tags/sort/gb-sort'; import { SubmitOpts } from './tags/submit/gb-submit'; import { ProductStructure } from './utils/product-transformer'; import { FluxBridgeConfig, FluxCapacitor, Sort } from 'groupby-api'; export declare const CONFIGURATION_MASK: string; export declare function initSearchandiser(): (rawConfig?: SearchandiserConfig) => void; export declare class Searchandiser { flux: FluxCapacitor; services: any; config: SearchandiserConfig; init(): void; attach(tagName: string, opts?: any): any; attach(tagName: string, cssSelector: string, opts?: any): any; compile(): void; search(query?: string): Promise; private simpleAttach(tagName, options?); private cssAttach(tagName, cssSelector?, options?); private riotTagName(tagName); } export interface BridgeConfig extends FluxBridgeConfig { skipCache?: boolean; skipSemantish?: boolean; } export interface SearchandiserConfig { customerId: string; structure: ProductStructure; bridge?: BridgeConfig; url?: UrlConfig; tracker?: TrackerConfig; area?: string; collection?: string; customUrlParams?: any[]; disableAutocorrection?: boolean; language?: string; pageSize?: number; pageSizes?: number[]; sort?: Sort[]; visitorId?: string; sessionId?: string; tags?: { breadcrumbs?: BreadcrumbsOpts; collections?: CollectionsOpts; details?: DetailsOpts; filter?: FilterOpts; navigation?: NavigationOpts; pageSize?: PageSizeOpts; paging?: PagingOpts; query?: QueryOpts; sayt?: SaytOpts; sort?: SortOpts; submit?: SubmitOpts; }; services?: { [name: string]: Service | boolean; }; stylish?: boolean; initialSearch?: boolean; simpleAttach?: boolean; }