import { ResultItem } from "../../types/result-types"; import { ExtractSelectResult, SelectProjections } from "./select-types"; import { IGroqBuilder, InferResultType } from "../../groq-builder"; declare module "../../groq-builder" { interface GroqBuilderSubquery { /** * Applies GROQ's `select` function, for conditional logic. * * The Condition strings are NOT strongly-typed. You can put any valid GROQ statement into these keys. See `selectByType` for a strongly-typed option. * * @example * const qMovies = q.star.filterByType("movie").project({ * name: true, * popularity: q.select({ * "popularity > 20": q.value("high"), * "popularity > 10": q.value("medium"), * }, q.value("low")), * }) */ select, TQueryConfig>, TDefault extends null | IGroqBuilder = null>(selections: TSelectProjections, defaultSelection?: TDefault): GroqBuilder | (TDefault extends null | undefined ? null : InferResultType>), TQueryConfig>; } }