import { IRequestOptions } from "@esri/arcgis-rest-request";
import { GenericResult, IMatchReason, IPredicateExplanation } from "../types/types";
import { IMatchOptions } from "../types/types";
export declare function explainDatePredicate(_predicate: Record<string, IMatchOptions>, _result: GenericResult, _requestOptions: IRequestOptions): Promise<IPredicateExplanation>;
export declare function explainPropPredicate(_predicate: Record<string, IMatchOptions>, _result: GenericResult, _requestOptions: IRequestOptions): Promise<IPredicateExplanation>;
/**
 * @internal
 * Create explanation for an IMatchOptions predicate
 * @param predicate
 * @param result
 * @param requestOptions
 * @returns
 */
export declare function explainMatchOptionPredicate(predicate: Record<string, IMatchOptions>, result: GenericResult, requestOptions: IRequestOptions): Promise<IPredicateExplanation>;
/**
 * Returns information about the match between a result value and the .any property of an IMatchOptions predicate
 * @param attribute
 * @param option
 * @param resultValue
 * @returns
 */
export declare function checkAny(attribute: string, option: string | string[], resultValue: string | string[]): IMatchReason;
/**
 * * Returns information about the match between a result value and the .all property of an IMatchOptions predicate
 * @param attribute
 * @param option
 * @param resultValue
 * @returns
 */
export declare function checkAll(attribute: string, option: string | string[], resultValue: string | string[]): IMatchReason;
/**
 * * Returns information about the match between a result value and the .not property of an IMatchOptions predicate
 * @param attribute
 * @param option
 * @param resultValue
 * @returns
 */
export declare function checkNot(attribute: string, option: string | string[], resultValue: string | string[]): IMatchReason;
