import { type Plugin, type PluginService, type CalendarDay, type CalendarEventDetail, type Nullable, type TrackDateResult, type CalendarData, type DateRange, type WcDateStyle, type OnceEmiter, type TrackYearResult, type WcYear } from '@lspriv/wx-calendar/lib'; export interface MultiSelOpts { type: 'range' | 'multi'; bgColor: WcDateStyle; textColor: WcDateStyle; borderRadius: number; } export interface ChangeEventDtail { checked: Array; validDates: Array; } type PluginDateRange = [start: CalendarDay, end: CalendarDay]; export declare class MultiPlugin implements Plugin { static KEY: "wc-plugin-multiple"; private options; private checked; private _range_; private baseStyle; private service; constructor(options?: Partial); private formOptions; private formBaseStyle; PLUGIN_INITIALIZE(service: PluginService): void; PLUGIN_ON_ATTACH(service: PluginService, sets: Partial): void; PLUGIN_CATCH_TAP(service: PluginService): void; PLUGIN_ON_CLICK(_: PluginService, detail: CalendarEventDetail): void; PLUGIN_TRACK_DATE(date: CalendarDay): Nullable; PLUGIN_TRACK_YEAR(year: WcYear): Nullable; PLUGIN_ON_CHANGE(service: PluginService, detail: CalendarEventDetail, emiter: OnceEmiter): void; select(dates: PluginDateRange): void; select(dates: Array, clear: boolean): void; private dispatchSet; private updatePluginRange; private emitChange; private updateDates; private filterDates; } export declare const MULTI_PLUGIN_KEY: "wc-plugin-multiple"; export {};