import { Context } from "../../bundler/context.js"; import { Span } from "./tracing.js"; import { EvaluateSchemaResponse, IndexPrediction } from "./deployApi/evaluateSchema.js"; import { SchemaEvaluation } from "./schemaEvaluation.js"; export type LargeIndexBackfillCheck = "no verification" | "ask for confirmation" | "has confirmation"; type BlockingIndex = { componentPath: string; index: IndexPrediction; }; /** * Warn — and on a real deploy require confirmation — when a push creates or * enables a non-staged index on a large table. `wait_for_schema` blocks the * deploy until every such index is backfilled, which can take a long time on * large tables; staging the index instead backfills it in the background. * * Skipped silently when the deployment doesn't support `evaluate_schema`: * the check protects the developer's time, not correctness. */ export declare function checkForLargeIndexBackfill({ ctx, span, schemaEvaluation, options, mode, }: { ctx: Context; span: Span; schemaEvaluation: SchemaEvaluation; options: { url: string; }; mode: "warn" | "ask for confirmation" | "has confirmation"; }): Promise; export declare function blockingIndexesFromSchemaEvaluation(response: EvaluateSchemaResponse, minDocuments: number): BlockingIndex[]; export {}; //# sourceMappingURL=checkForLargeIndexBackfill.d.ts.map