import { SearchEngine, AddressBarListener, DynamicSearchParams, SearchEngineOptions } from "../src/redux/search-engine"; import { State } from "../src/redux/state"; import { GroupFilters } from "../src/config"; export declare const wait: (t: number) => Promise; /** * Wait for the store the update */ export declare function waitEngineUpdate(engine: SearchEngine, errorMessage?: string): Promise; export declare function waitEngineStatus(engine: SearchEngine, status: State["status"]): Promise; export declare function waitEngineError(actions: SearchEngine): Promise; export declare function createSearchParams(params?: Partial): Partial; export declare class TestAddressBarListerer implements AddressBarListener { terms: string; groupId: string; triggerSearch: boolean; listener?: Parameters[0]; listen(cb: Parameters[0]): () => null; getTerms(): string; getGroupId(): string; setTerms(value: string): void; setGroupId(value: string): void; removeGroup(): void; } export declare function createTestSearchEngine(options: Partial, testOptions?: { createGroups?: false; }): SearchEngine; /** * Tracks store results changes, * usage: * -use resultsSpy.mock.calls to see search results * -expect(resultsSpy).not.toHaveBeenCalledWith(param) to assert it was not called with param * @param engine */ export declare function spyResults(engine: SearchEngine): any; export declare function createInput(): HTMLInputElement; export declare function type(input: HTMLInputElement, value: string): void; /** * * Created to ease test code migration to the new setGroups() API * * @deprecated Just use engine.setGroups() */ export declare function setLegacyGroups(engine: SearchEngine, groups: { [groupId: string]: { tagQuery: GroupFilters["tagQuery"]; size?: number; }; }): void;