/// import type { Writable } from 'svelte/store'; import type { CalendarDate, ZonedDateTime, CalendarDateTime, DateDuration, DateFields, DateTimeDuration, DateValue, Disambiguation, TimeFields } from '@internationalized/date'; type AnyDateTime = ZonedDateTime | CalendarDateTime; type DerivedDuration = T extends AnyDateTime ? DateTimeDuration : T extends CalendarDate ? DateDuration : never; type DerivedFields = T extends AnyDateTime ? DateFields & TimeFields : T extends CalendarDate ? DateFields : never; /** * A higher order store that encapsulates a writable store holding a `DateValue` from the * '@internationalized/date' library. It provides some convenience methods for common * date manipulations. * * @see [@internationalized/date](https://react-spectrum.adobe.com/internationalized/date/index.html) */ export declare function dateStore(store: Writable, defaultValue: T): { get: () => T; set: (this: void, value: T) => void; update: (this: void, updater: import("svelte/store").Updater) => void; subscribe: (this: void, run: import("svelte/store").Subscriber, invalidate?: import("svelte/store").Invalidator | undefined) => import("svelte/store").Unsubscriber; add: (duration: DerivedDuration) => void; subtract: (duration: DerivedDuration) => void; setDate: (fields: DerivedFields, disambiguation?: T extends ZonedDateTime ? Disambiguation : never) => void; reset: () => void; toWritable: () => { set: (this: void, value: T) => void; subscribe: (this: void, run: import("svelte/store").Subscriber, invalidate?: import("svelte/store").Invalidator | undefined) => import("svelte/store").Unsubscriber; update: (this: void, updater: import("svelte/store").Updater) => void; get: () => T; }; nextPage: (amount: number) => void; prevPage: (amount: number) => void; }; export type DateStore = Writable & { add: (duration: DerivedDuration) => void; subtract: (duration: DerivedDuration) => void; setDate: (fields: DerivedFields, disambiguation?: T extends ZonedDateTime ? Disambiguation : never) => void; reset: () => void; nextPage: (amount: number) => void; prevPage: (amount: number) => void; }; export {};