/**
 * @file Builds store instances under jsdom. Specs using this helper must
 * declare `// @vitest-environment jsdom` (a forgotten pragma surfaces as
 * `HTMLCanvasElement is not defined` from inside this file). Every stub below
 * exists because removing it breaks the import or the constructor — nothing is
 * mocked pre-emptively.
 */
type UIStateInstance = InstanceType<typeof import('../store/UIState.js').default>;
/** Constructs a `UIState` on a fake `RootStore`. `overrides` extends that fake. */
export declare function createUIState(overrides?: Record<string, unknown>): Promise<import("../store/UIState.js").default>;
/** Constructs a `RouteStore` next to a real `UIState`; route-side siblings are faked. */
export declare function createRouteStore(overrides?: Record<string, unknown>): Promise<{
    routeStore: import("../store/RouteStore.js").default;
    uiState: UIStateInstance;
    rootStore: Record<string, unknown>;
    Route: typeof import("../store/RouteStore.js").Route;
}>;
/**
 * Constructs a `SearchButtonsStore` beside a real `RouteStore`,
 * `RoutePlannerStore` and `URLFilterManager`; the rest of the store graph is faked.
 */
export declare function createSearchButtonsStore(overrides?: Record<string, unknown>): Promise<{
    searchButtonsStore: import("../store/SearchButtonsStore.js").default;
    routePlannerStore: import("../store/RoutePlannerStore.js").default;
    routeStore: import("../store/RouteStore.js").default;
    urlFilterManager: import("../services/URLFilterManager.js").URLFilterManager;
    uiState: import("../store/UIState.js").default;
    rootStore: Record<string, unknown>;
    Route: typeof import("../store/RouteStore.js").Route;
}>;
export {};
//# sourceMappingURL=store-harness.d.ts.map