import type { TransformGroupSpec, TransformValue } from './transform.js'; export type SelectMethod = 'first' | 'last' | 'min' | 'max'; export interface SelectContext { values: readonly (number | null | undefined)[]; data: readonly TDatum[]; indexes: readonly number[]; group: Readonly>; } interface SelectOptionsBase { by?: TBy; } export type SelectOptions | undefined = TransformGroupSpec | undefined> = SelectOptionsBase & ({ value?: TransformValue; select: 'first' | 'last'; } | { value: TransformValue; select: 'min' | 'max'; } | { value?: TransformValue; select: (context: SelectContext) => number | readonly number[] | undefined; }); export declare function select | undefined = undefined>(source: Iterable, options: SelectOptions): TDatum[]; export {};