export type NewFieldType = 'text' | 'number' | 'date' | 'boolean' | 'url' | 'image' | 'video' | 'document' | 'audio';
export type DetectColumnType = (values: string[]) => NewFieldType;
export type DetectValueType = (value: string) => NewFieldType;
export declare const TYPE_SAMPLE_SIZE = 50;
/**
 * Infer the field type of a single CSV cell, in cm-import's order:
 * empty → number → boolean → date → url, else text.
 */
export declare function detectValueType(value: string): NewFieldType;
/**
 * Infer a column's field type from its first values: the most common detected
 * type, but only when it covers at least two-thirds of the samples (otherwise
 * `text`). Same majority-vote algorithm as cm-import
 * `guessFieldConfigFromSamples`, with a larger sample (see `TYPE_SAMPLE_SIZE`).
 *
 * `detectValue` defaults to the primitive {@link detectValueType}; the fields
 * detector passes a media-aware variant so it reuses this sampling/majority
 * logic.
 */
export declare function detectColumnType(values: string[], detectValue?: DetectValueType): NewFieldType;
//# sourceMappingURL=detectFieldType.d.ts.map