import type { DirectCondition, Id } from './ResourceInterface.ts';
import { RequestTarget } from './RequestTarget.ts';
export declare const COERCIBLE_OPERATORS: {
    lt: boolean;
    le: boolean;
    gt: boolean;
    ge: boolean;
    ne: boolean;
    eq: boolean;
};
export declare function executeConditions(conditions: any, operator: any, table: any, txn: any, request: any, context: any, transformToEntries: any, filtered: any): any;
/**
 * Search for records or keys, based on the search condition, using an index if available
 * @param searchCondition
 * @param transaction
 * @param reverse
 * @param Table
 * @param allowFullScan
 * @param filtered
 */
export declare function searchByIndex(searchCondition: DirectCondition, transaction: any, reverse: boolean, Table: any, allowFullScan?: boolean, filtered?: boolean, context?: any): AsyncIterable<Id | {
    key: Id;
    value: any;
}>;
export declare function findAttribute(attributes: any, attribute_name: any): any;
/**
 * Create a filter based on the search condition that can be used to test each supplied record.
 * @param {SearchObject} searchCondition
 * @returns {({}) => boolean}
 */
export declare function filterByType(searchCondition: any, Table: any, context: any, filtered: any, isPrimaryKey?: any, estimatedIncomingCount?: any): any;
export declare function estimateCondition(table: any): (condition: any) => any;
/**
 * This is responsible for taking a query string (from a get()) and merging the parsed elements into a RequestTarget object.
 * @param queryString
 */
export declare function parseQuery(queryToParse: string, query: RequestTarget): any;
export declare function flattenKey(key: any): any;
export declare function intersectionEstimate(store: any, left: any, right: any): number;
