import { APIFilter, MerchantSite, StrivveServiceInterface } from '../types'; export interface SelectSiteCoreOptions { service: StrivveServiceInterface; filter?: APIFilter; multiple?: boolean; onSubmit?: Function; sendEvent?: (action: string, data: any) => void; view?: 'list' | 'carousel' | 'linked'; jobs?: any[]; } export interface SelectSiteState { sites: any[]; jobs: any[]; selected: any[]; loading: boolean; search: string; error?: boolean; message?: string; view?: 'list' | 'carousel' | 'linked'; filter: { top_hosts?: string[] | string; tags?: string[] | string; }; } export declare const initialStateSelectSite: SelectSiteState; export default class SelectSiteCore { service: StrivveServiceInterface; state: SelectSiteState; private subscriber; sites: MerchantSite[]; multiple?: boolean; private onSubmit?; sendEvent?: (action: string, data: any) => void; constructor({ service, filter, multiple, onSubmit, view, jobs, sendEvent, }: SelectSiteCoreOptions); getSites(filter?: APIFilter): Promise; subscribe(func: Function): void; submit(): void; changeSearch(search: string): void; selectItem(merchant: MerchantSite): void; setView(view: 'list' | 'carousel' | 'linked'): void; setState(value: Partial): void; private notifyForm; }