import type { ComponentPublicInstance, ReactiveFlags, ComponentInternalInstance } from "vue"; import type { DateKind } from "./metadata"; export type OwnProps = Pick>; export type Indexable = { [k: string]: any | undefined; } & T; export type DeepPartial = T | { [P in keyof T]?: T[P] extends Array ? Array> : T[P] extends ReadonlyArray ? ReadonlyArray> : DeepPartial; }; export declare function isNullOrWhitespace(value: string | null | undefined): boolean; export declare function parseJSONDate(argument: string, kind?: DateKind): Date; export declare function parseDateUserInput(input: string | null | undefined, defaultDate: Date, dateKind: DateKind): Date | undefined; /** * Converts deep Javascript objects to URL encoded query strings. * @license MIT */ export declare function objectToQueryString(a: Array | { [s: string]: any; } | null, includeNull?: boolean): string; export declare function objectToFormData(a: Array | { [s: string]: any; } | null): FormData; /** This is the property added by `markRaw`. * We use it directly so we can declare it on the proto of ViewModel/ListViewModel * rather than calling markRaw on each instance. * * We make these classes nonreactive with Vue, preventing ViewModel instance from being wrapped with a Proxy. * To achieve reactivity, we instead make individual members reactive with `reactive`/`ref`. * * We have to do this because `reactive` doesn't play nice with prototyped objects. * Any sets to a setter on the ViewModel class will trigger the reactive proxy, * and since the setter is defined on the prototype and Vue checks hasOwnProperty * when determining if a field is new on an object, all setters trigger reactivity * even if the value didn't change. * * We cant use the export of ReactiveFlags from vue because of https://github.com/vuejs/core/issues/1228 */ export declare const ReactiveFlags_SKIP: ReactiveFlags.SKIP; export type VueInstance = ComponentPublicInstance | ComponentInternalInstance; export declare function getInternalInstance(vue: VueInstance): ComponentInternalInstance; export declare function getPublicInstance(vue: VueInstance): ComponentPublicInstance;