import { SpecialWhere, SpecialWhereAnd } from '../misc/classes/specialWhere';
import { SpecialSet } from '../misc/classes/specialSet';
/**
 * Converts to "COUNT(key)".
 * @param key
 * @link
 */
export declare function count(key?: string): string;
/**
 * Converts to "MAX(key)".
 * @param key
 */
export declare function max(key: string): string;
/**
 * Converts to "MIN(key)".
 * @param key
 */
export declare function min(key: string): string;
/**
 * Converts to "TOKEN(keyOrValue)".
 * @param keyOrValue
 */
export declare function TOKEN(keyOrValue: unknown): string;
/**
 * Converts to "key (operator1) value1 AND key (operator2) value2 AND ...".
 *
 * Key inserts automatically when creating queries.
 * @param values
 */
export declare function and(...values: (SpecialWhere | unknown)[]): SpecialWhereAnd;
/**
 * Converts to "key >= value".
 *
 * Key inserts automatically when creating queries.
 * @param value
 */
export declare function gte(value: unknown): SpecialWhere;
/**
 * Converts to "key > value".
 *
 * Key inserts automatically when creating queries.
 * @param value
 */
export declare function gt(value: unknown): SpecialWhere;
/**
 * Converts to "key <= value".
 *
 * Key inserts automatically when creating queries.
 * @param value
 */
export declare function lte(value: unknown): SpecialWhere;
/**
 * Converts to "key < value".
 *
 * Key inserts automatically when creating queries.
 * @param value
 */
export declare function lt(value: unknown): SpecialWhere;
/**
 * Converts to "key = value".
 *
 * Key inserts automatically when creating queries.
 * @param value
 */
export declare function eq(value: unknown): SpecialWhere;
/**
 * Converts to "key IN('value1', 'value2', ..., 'valueN')".
 *
 * Key inserts automatically when creating queries.
 * @param values
 */
export declare function IN(values: unknown[]): SpecialWhere;
/**
 * Converts to "%literal%".
 *
 * ! If you want to provide array in preparedValues - preparedValues: [[1,2,3], 'x', true, ...]
 * Key inserts automatically when creating queries.
 * @param literal string with part of query.
 * @param options (optional) object with prepared flag and prepared values.
 */
export declare function literal(literal: string, options?: {
    prepared: boolean;
    preparedValues: unknown | unknown[];
}): SpecialWhere;
/**
 * Converts to "key = key + ?" with prepared values.
 *
 * Key inserts automatically when creating queries.
 * @param valueOrArray
 */
export declare function addToSet(valueOrArray: unknown | unknown[]): SpecialSet;
/**
 * Converts to "key = key - ?" with prepared values.
 *
 * Key inserts automatically when creating queries.
 * @param valueOrArray
 */
export declare function deleteFromSet(valueOrArray: unknown | unknown[]): SpecialSet;
/**
 * Converts to "key = {}".
 *
 * Key inserts automatically when creating queries.
 */
export declare function clearSet(): SpecialSet;
/**
 * Converts to "key = key + ?" with prepared values.
 *
 * Key inserts automatically when creating queries.
 * @param valueOrArray
 */
export declare function addToList(valueOrArray: unknown | unknown[]): SpecialSet;
/**
 * Converts to "key = key - ?" with prepared values.
 *
 * Key inserts automatically when creating queries.
 * @param valueOrArray
 */
export declare function deleteFromList(valueOrArray: unknown | unknown[]): SpecialSet;
/**
 * Converts to "key = []".
 *
 * Key inserts automatically when creating queries.
 */
export declare function clearList(): SpecialSet;
/**
 * Converts to "key = key + ?" with prepared values.
 *
 * Key inserts automatically when creating queries.
 * @param object
 */
export declare function addToMap(object: Record<string | number, unknown>): SpecialSet;
/**
 * Converts to "key = key - ?" with prepared values.
 *
 * Key inserts automatically when creating queries.
 * @param keyOrArray Takes array of keys or key.
 */
export declare function deleteFromMap(keyOrArray: unknown | unknown[]): SpecialSet;
/**
 * Converts to "key = {}".
 *
 * Key inserts automatically when creating queries.
 */
export declare function clearMap(): SpecialSet;
/**
 * Converts to "key = key + ?" with prepared values.
 *
 * Key inserts automatically when creating queries.
 * @param counter 64-bit signed integer.
 */
export declare function increaseCounter(counter: number): SpecialSet;
/**
 * Converts to "key = key - ?" with prepared values.
 *
 * Key inserts automatically when creating queries.
 * @param counter 64-bit signed integer.
 */
export declare function decreaseCounter(counter: number): SpecialSet;
