import { Seq } from '../../Utils/IterableUtils'; import { Field, FieldTreeNode, TreeNode, Filter, FilterField, MultiField, MultiFilter, RangeField, ValueCounts } from '../../Components/AttributeFilter/Types'; /** * Determine if a field should use a range filter display * * @param {Field} field */ export declare function isRange(field: Field): field is RangeField; export declare function isMulti(field: Field): field is MultiField; export declare function isFilterField(field: Field): field is FilterField; /** * Determine if a filter should be created, or if the values represent the default state. */ export declare function shouldAddFilter(filter: Filter, valueCounts: ValueCounts, selectByDefault: boolean): boolean; /** * Returns an strftime style format string. * @param {string} dateString */ export declare function getFormatFromDateString(dateString: string): "%Y-%m-%d" | "%Y-%m" | "%Y"; /** * Returns a formatted date. * * @param {string} format strftime style format string * @param {Date} date */ export declare function formatDate(format: string, date: string | Date | number): string; interface NumberFormatOptions { /** If the number has more than 5 digits, use scientific notation */ useScientificNotation?: boolean; } export declare function formatNumber(value: number, options?: NumberFormatOptions): string; /** * @param {string} dataString An ISO 8601 compatible date string. * See https://en.wikipedia.org/wiki/ISO_8601. */ export declare function parseDate(dateString: string | Date | number): Date; export declare function getFilterFieldsFromOntology(ontologyEntries: Iterable): FilterField[]; export declare const GENERATED_ROOT_FIELD: Field; export interface TreeOptions { hideSingleRoot: boolean; } export declare const defaultTreeOptions: TreeOptions; export declare function getTree(ontologyEntries: Iterable, options?: TreeOptions): FieldTreeNode; export declare function getGenericTree(ontologyEntries: Iterable, generatedRootField: T, options?: TreeOptions): TreeNode; export declare function getLeavesOfSubTree(ontologyEntries: Iterable, rootTerm: Field): FilterField[]; export declare function removeIntermediateNodesWithSingleChild(node: FieldTreeNode): FieldTreeNode; export declare function sortLeavesBeforeBranches(root: FieldTreeNode): FieldTreeNode; /** * Create an array of ancestor nodes for a given node predicate. */ export declare function findAncestorFields(tree: FieldTreeNode, term: string): Seq; /** * Creates a display string describing a filter. * * @param {Field} field * @param {any} value * @param {boolean} includeUnknown */ export declare function getFilterValueDisplay(filter: Filter): string; export declare function getOperationDisplay(operation: MultiFilter['value']['operation']): "all" | "any"; export declare const toPercentage: (num: number, denom: number) => number | ">99" | "< 1"; export {}; //# sourceMappingURL=AttributeFilterUtils.d.ts.map