import { SearchTypes } from "@medusajs/framework/types";
import { SearchIndexContext, SearchIndexRegistry, SearchIndexSeedAction, SearchSeedRuntime } from "../types";
type LockContext = Pick<SearchIndexContext, "locking" | "logger">;
/**
 * Which indexes need data, and where it goes. A drifted definition is filled into
 * its replacement and swapped in; otherwise an index needs seeding if it was never
 * filled, its last attempt failed, or it holds nothing — the last catching an
 * engine that lost its data while the record still says ready.
 */
export declare function createSeedPlan(context: SearchIndexRegistry): Promise<SearchIndexSeedAction[]>;
export declare function executeSeedPlan(context: SearchSeedRuntime & LockContext, actions: SearchIndexSeedAction[]): Promise<void>;
export declare function reindexIndexes(context: SearchSeedRuntime & LockContext, input?: SearchTypes.SearchReindexInput): Promise<SearchTypes.SearchReindexResult>;
export {};
//# sourceMappingURL=seeding.d.ts.map