import { Experimental_ExtractionModelV4, Experimental_ExtractionModelV4CallOptions, Experimental_ExtractionModelV4Result, LanguageModelV4 } from "@ai-sdk/provider";
import { WORKFLOW_DESERIALIZE, WORKFLOW_SERIALIZE } from "@workflow/serde";
//#region src/extraction-language-model.d.ts
/** Adapts structured language-model output to typed field extraction. */
declare class ExtractionLanguageModel implements Experimental_ExtractionModelV4 {
  readonly specificationVersion = "v4";
  readonly supportedFieldTypes: readonly ["text", "number", "date", "time", "datetime", "duration", "list"];
  readonly provider: string;
  private readonly model;
  private readonly maxFieldsPerCall;
  constructor({ model, provider, maxFieldsPerCall }: {
    model: LanguageModelV4;
    provider?: string;
    /**
     * Most fields per language-model call, for providers that limit schema
     * size. Larger field maps are split into parallel calls whose answers are
     * merged. Usage is summed, and response and provider metadata come from
     * the first call.
     */
    maxFieldsPerCall?: number;
  });
  get modelId(): string;
  static [WORKFLOW_SERIALIZE](model: ExtractionLanguageModel): {
    model: LanguageModelV4;
    provider: string;
    maxFieldsPerCall: number;
  };
  static [WORKFLOW_DESERIALIZE](options: {
    model: LanguageModelV4;
    provider: string;
    maxFieldsPerCall: number;
  }): ExtractionLanguageModel;
  doExtract(options: Experimental_ExtractionModelV4CallOptions): Promise<Experimental_ExtractionModelV4Result>;
  private extractGroup;
}
//#endregion
export { ExtractionLanguageModel as Experimental_ExtractionLanguageModel };
//# sourceMappingURL=index.d.ts.map