import Matcher, { Value } from './Matcher'; 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[]) => Promise); export interface FieldLookup { source: SourceItem[] | PromiseLookup; matchOnPaste?: boolean | ((text: string) => Promise); textGetter?: (item: object) => string; valueGetter?: (item: object) => Value; ignoreCase?: boolean; itemLimit?: number; searchStartLength?: number; } export interface FieldValue { match: RegExp | ((text: string) => boolean); value: (text: string) => Value; matchOnPaste?: boolean; } type FieldMatch = FieldLookup | FieldValue; export interface Field { name: string; title: string; comparisons: string[]; precedence?: number; selectionLimit?: number; functional?: boolean; hideOnShortcut?: boolean; definitions: FieldMatch[]; defaultOperator?: string; } export default Field;