type QueryT = Record; type TestT = (item: DataT) => boolean; type FilterKeyT = keyof typeof filters; type RecordWithIdT = Record<'id', string>; declare const filters: { $is: (key: string, value: any) => TestT; $isNot: (key: string, value: any) => TestT; $isBetween: (key: string, [minimum, maximum]: [number, number]) => TestT; $isNotBetween: (key: string, [minimum, maximum]: [number, number]) => TestT; $equals: (key: string, value: any) => TestT; $doesNotEqual: (key: string, value: any) => TestT; $isIn: (key: string, values: any[]) => TestT; $isNotIn: (key: string, values: any[]) => TestT; $isSubsetOf: (key: string, values: any[]) => TestT; $isSupersetOf: (key: string, values: any[]) => TestT; $isOneOf: (key: string, values: any[]) => TestT; $isNotOneOf: (key: string, values: any[]) => TestT; $matches: (key: string, target: string) => TestT; $doesNotMatch: (key: string, target: string) => TestT; $isGreaterThan: (key: string, value: number) => TestT; $isLessThan: (key: string, value: number) => TestT; $isGreaterThanOrEqualTo: (key: string, value: number) => TestT; $isLessThanOrEqualTo: (key: string, value: number) => TestT; $isNotGreaterThan: (key: string, value: number) => TestT; $isNotLessThan: (key: string, value: number) => TestT; $isNotGreaterThanOrEqualTo: (key: string, value: number) => TestT; $isNotLessThanOrEqualTo: (key: string, value: number) => TestT; $contains: (key: string, value: any) => TestT; $containsAll: (key: string, values: any[]) => TestT; $containsSome: (key: string, values: any[]) => TestT; $doesNotContain: (key: string, value: any) => TestT; $startsWith: (key: string, value: any) => TestT; $endsWith: (key: string, value: any) => TestT; $doesNotStartWith: (key: string, value: any) => TestT; $doesNotEndWith: (key: string, value: any) => TestT; $isLongerThan: (key: string, length: number) => TestT; $isShorterThan: (key: string, length: number) => TestT; $isNotLongerThan: (key: string, length: number) => TestT; $isNotShorterThan: (key: string, length: number) => TestT; $exists: (key: string, value: any) => TestT; $isEmpty: (key: string, value: any) => TestT; $doesNotExist: (key: string, value: any) => TestT; $isNotEmpty: (key: string, value: any) => TestT; }; declare const listerine: (data: DataT[]) => { find: (query: QueryT) => DataT[]; findById: (id: string) => DataT; findByIds: (ids: string[]) => DataT[]; findOne: (query: QueryT) => DataT; }; export { type FilterKeyT, type QueryT, type RecordWithIdT, type TestT, listerine };