import type { Progress } from './types/progress'; export declare type Entries = { [K in keyof T]: [K, T[K]]; }[keyof T][]; export declare function stripLeadingSlash(fp: string): string; export declare function progressToValue(progress: Progress): number; export declare const encoder: TextEncoder; export declare const decoder: TextDecoder; export declare type OnlyJSON = T extends string | number | boolean | null ? T : T extends Function ? never : T extends object ? { [K in keyof T]: OnlyJSON; } : never; /** * Normalizes object by ensuring its keys are sorted. * May not be the most efficient way of doing so. */ export declare function normalizeObject>(obj: T): T; export declare function toJSONPreservingUndefined(data: any, indentation?: number): string; /** * NOTE: This is NOT a very fast implementation yet. Try to avoid. */ export declare function toJSONNormalized(val: any, indentation?: number): string; /** * @deprecated use `toJSONNormalized()` instead. */ export declare const JSONStringifyNormalized: typeof toJSONNormalized; export declare function objectsHaveSameShape(l: any, r: any): boolean; /** * Does the equivalent of `normalizeObject` on given object * as well as any objects encountered within. */ export declare function normalizeObjectRecursively>(obj: T, _seen?: null | WeakSet): T; /** * Returns true if given value is a regular object (‘hash’), * excluding “special” objects like dates etc. */ export declare function isObject(val: unknown): val is Record; export declare const BP4_RESET_CSS = "\n body, html {\n -webkit-font-smoothing: antialiased;\n font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Ubuntu, roboto, noto, arial, sans-serif;\n }\n\n .filter-popover .bp4-popover2-content {\n border-radius: 0;\n }\n .bp4-overlay-backdrop.bp4-popover2-backdrop {\n background: rgba(0, 0, 0, .5);\n }\n\n .bp4-tag.bp4-interactive {\n cursor: default !important;\n }\n .bp4-tag-remove {\n cursor: default !important;\n }\n\n .bp4-input {\n /*\n * \u201Cmiddle\u201D, specified by BP4, causes issues with inpout text <-> OL marker alignment.\n * This seems to have no side-effects.\n */\n vertical-align: unset;\n }\n .bp4-input:read-only {\n box-shadow: inset silver 1px -1px;\n background: none;\n }\n .bp4-dark .bp4-input:read-only {\n box-shadow: inset rgba(255, 255, 255, 0.2) 1px -1px;\n }\n .bp4-tree-node-caret {\n cursor: default !important;\n }\n\n /* Why was it added? It breaks hover, definitely.\n .bp4-tree-node-content:hover {\n background: unset;\n }\n */\n\n .bp4-html-select select {\n cursor: default !important;\n }\n\n .bp4-button {\n cursor: default !important;\n\n }\n\n .bp4-button:focus {\n outline: none;\n }\n\n .bp4-tab {\n cursor: default !important;\n }\n\n .bp4-menu-item {\n cursor: default;\n }\n\n .bp4-menu-item, .bp4-menu .bp4-menu-item.bp4-disabled {\n cursor: default !important;\n }\n";