import { Matcher, Value } from '.'; export type SourceItem = string | object; export declare const defaultComparison: string[]; export declare const stringComparisons: string[]; export declare const numberComparisons: string[]; export type PromiseLookup = (text: string, op: 'or' | 'and' | null, matchers: Matcher[], currentValues?: Value[]) => Promise; export interface FieldLookup { source: SourceItem[] | PromiseLookup; matchOnPaste?: boolean | ((text: string) => Promise); textGetter?: (item: object) => string; valueGetter?: (item: object) => Value; ignoreCase?: boolean; minimumSearchLength?: number; } export interface FieldValue { match: RegExp | ((text: string) => boolean); value: (text: string) => Value; label?: (value: Value) => string; matchOnPaste?: boolean; } export type FieldMatch = FieldLookup | FieldValue; export interface Field { name: string; title: string; comparisons: string[]; defaultComparison?: string; hideCategory?: boolean; allowLists?: boolean; allowRanges?: boolean; allowBlanks?: boolean; precedence?: number; maxSelectionLimit?: number; fieldMatches: FieldMatch[]; pastePattern?: RegExp | ((text: string) => boolean); } export interface AgField { name: string; title?: string; comparisons?: string[]; defaultComparison?: string; hideCategory?: boolean; allowLists?: boolean; allowRanges?: boolean; allowBlanks?: boolean; precedence?: number; maxSelectionLimit?: number; fieldMatches?: FieldMatch[]; pastePattern?: RegExp | ((text: string) => boolean); }