import { RawOptionsFromRefiners, RefinedOptionsFromRefiners, Identity as Identity$1 } from '@fullcalendar/core/protected-api'; import { EventApi, ViewApi, ClassNameGenerator, CssDimValue, BusinessHoursInput, ConstraintInput, AllowFunc } from 'fullcalendar/public-api'; import { DateRange, CalendarContext, Dictionary, DateMeta, ContentGenerator, DidMountHandler, WillUnmountHandler, Action, EventStore, EventUi, Identity, parseFieldSpecs, refineClassName } from 'fullcalendar/protected-api'; import { ReactNode } from 'preact/compat'; declare const RESOURCE_REFINERS: { id: StringConstructor; parentId: StringConstructor; children: Identity$1; title: StringConstructor; businessHours: Identity$1; extendedProps: Identity$1; eventEditable: BooleanConstructor; eventStartEditable: BooleanConstructor; eventDurationEditable: BooleanConstructor; eventConstraint: Identity$1; eventOverlap: BooleanConstructor; eventAllow: Identity$1; eventClass: typeof refineClassName; eventColor: StringConstructor; eventContrastColor: StringConstructor; }; type BuiltInResourceRefiners = typeof RESOURCE_REFINERS; interface ResourceRefiners extends BuiltInResourceRefiners { } type ResourceInput = RawOptionsFromRefiners> & // Required hack { [extendedProps: string]: any; }; interface Resource { id: string; parentId: string; title: string; businessHours: EventStore | null; ui: EventUi; extendedProps: { [extendedProp: string]: any; }; } type ResourceHash = { [resourceId: string]: Resource; }; interface ResourceSource { _raw: any; sourceId: string; sourceDefId: number; meta: ResourceSourceMeta; publicId: string; isFetching: boolean; latestFetchId: string; fetchRange: DateRange | null; } interface ResourceFuncInfo { start?: Date; end?: Date; startStr?: string; endStr?: string; timeZone?: string; } type ResourceFunc = ((info: ResourceFuncInfo, successCallback: (resourceInputs: ResourceInput[]) => void, failureCallback: (error: Error) => void) => void) | ((info: ResourceFuncInfo) => Promise); declare const RESOURCE_SOURCE_REFINERS: { id: StringConstructor; resources: Identity; url: StringConstructor; method: StringConstructor; startParam: StringConstructor; endParam: StringConstructor; timeZoneParam: StringConstructor; extraParams: Identity Dictionary)>; }; type ResourceSourceInputObject = RawOptionsFromRefiners; type ResourceSourceInput = ResourceSourceInputObject | ResourceInput[] | ResourceFunc | string; declare class ResourceApi { private _context; _resource: Resource; constructor(_context: CalendarContext, _resource: Resource); setProp(name: string, value: any): void; setExtendedProp(name: string, value: any): void; private sync; remove(): void; getParent(): ResourceApi | null; getChildren(): ResourceApi[]; getEvents(): EventApi[]; get id(): string; get title(): string; get eventConstraint(): any; get eventOverlap(): boolean; get eventAllow(): any; get eventColor(): string; get eventContrastColor(): string; get eventClass(): string; get extendedProps(): { [extendedProp: string]: any; }; toPlainObject(settings?: { collapseExtendedProps?: boolean; }): Dictionary; toJSON(): Dictionary; } interface ResourceAddInfo { resource: ResourceApi; revert: () => void; } interface ResourceChangeInfo { oldResource: ResourceApi; resource: ResourceApi; revert: () => void; } interface ResourceRemoveInfo { resource: ResourceApi; revert: () => void; } interface ResourceDayHeaderInfo extends Partial { resource: ResourceApi; text: string; level: number; view: ViewApi; isDisabled: boolean; isNarrow: boolean; isMajor: boolean; } interface ResourceColumnHeaderInfo { view: ViewApi; } interface ResourceCellInfo { resource?: ResourceApi; field: string; fieldValue: any; view: ViewApi; } interface ResourceGroupHeaderInfo { fieldValue: any; view: ViewApi; } interface ResourceGroupLaneInfo { fieldValue: any; view: ViewApi; } interface ResourceLaneContentArgInput { resource: Resource; context: CalendarContext; eventOverlap: boolean; } interface ResourceLaneInfo { resource: ResourceApi; options: { eventOverlap: boolean; }; } interface ResourceExpanderInfo { isExpanded: boolean; } interface ColHeaderRenderHooks { headerClass?: ClassNameGenerator; headerInnerClass?: ClassNameGenerator; headerResizerClass?: ClassNameGenerator; headerContent?: ContentGenerator; headerDefault?: (renderProps: ResourceColumnHeaderInfo) => ReactNode; headerDidMount?: DidMountHandler; headerWillUnmount?: WillUnmountHandler; } interface ColSpec extends ColHeaderRenderHooks { group?: boolean; isMain?: boolean; width?: number | string; field?: string; cellClass?: ClassNameGenerator; cellInnerClass?: ClassNameGenerator; cellContent?: ContentGenerator; cellDidMount?: DidMountHandler; cellWillUnmount?: WillUnmountHandler; } interface GroupLaneRenderHooks { laneClass?: ClassNameGenerator; laneInnerClass?: ClassNameGenerator; laneContent?: ContentGenerator; laneDidMount?: DidMountHandler; laneWillUnmount?: WillUnmountHandler; } interface GroupSpec extends GroupLaneRenderHooks { field?: string; order?: number; labelClass?: ClassNameGenerator; labelInnerClass?: ClassNameGenerator; labelContent?: ContentGenerator; labelDidMount?: DidMountHandler; labelWillUnmount?: WillUnmountHandler; } declare const OPTION_REFINERS: { schedulerLicenseKey: StringConstructor; virtualization: BooleanConstructor; initialResources: Identity; resources: Identity; eventResourceEditable: BooleanConstructor; refetchResourcesOnNavigate: BooleanConstructor; resourceOrder: typeof parseFieldSpecs; filterResourcesWithEvents: BooleanConstructor; resourceGroupField: StringConstructor; resourcesInitiallyExpanded: BooleanConstructor; datesAboveResources: BooleanConstructor; needsResourceData: BooleanConstructor; resourceDayHeaderClass: Identity>; resourceDayHeaderInnerClass: Identity>; resourceDayHeaderContent: Identity>; resourceDayHeaderDidMount: Identity>; resourceDayHeaderWillUnmount: Identity>; resourceDayHeaderAlign: Identity<"start" | "center" | "end" | ((info: { level: number; }) => "start" | "center" | "end")>; _resourceDayHeaderSticky: Identity; printMaxRows: NumberConstructor; resourceColumnsWidth: Identity; resourceColumns: Identity; resourceColumnDividerClass: typeof refineClassName; resourceColumnHeaderClass: Identity>; resourceColumnHeaderInnerClass: Identity>; resourceColumnResizerClass: Identity>; resourceColumnHeaderContent: Identity>; resourceColumnHeaderDidMount: Identity>; resourceColumnHeaderWillUnmount: Identity>; resourceHeaderRowClass: typeof refineClassName; resourceRowClass: typeof refineClassName; resourceCellClass: Identity>; resourceCellInnerClass: Identity>; resourceCellContent: Identity>; resourceCellDidMount: Identity>; resourceCellWillUnmount: Identity>; resourceGroupHeaderClass: Identity>; resourceGroupHeaderInnerClass: Identity>; resourceGroupHeaderContent: Identity>; resourceGroupHeaderDidMount: Identity>; resourceGroupHeaderWillUnmount: Identity>; resourceGroupLaneClass: Identity>; resourceGroupLaneInnerClass: Identity>; resourceGroupLaneContent: Identity>; resourceGroupLaneDidMount: Identity>; resourceGroupLaneWillUnmount: Identity>; resourceLaneClass: Identity>; resourceLaneDidMount: Identity>; resourceLaneWillUnmount: Identity>; resourceLaneTopClass: Identity>; resourceLaneTopContent: Identity>; resourceLaneBottomClass: Identity>; resourceLaneBottomContent: Identity>; resourceIndentClass: typeof refineClassName; resourceExpanderClass: Identity>; resourceExpanderContent: Identity>; timelineTopClass: typeof refineClassName; timelineBottomClass: typeof refineClassName; }; type PremiumOptions = RawOptionsFromRefiners; type PremiumOptionsRefined = RefinedOptionsFromRefiners; declare const LISTENER_REFINERS: { resourcesSet: Identity<(resources: ResourceApi[]) => void>; resourceAdd: Identity<(info: ResourceAddInfo) => void>; resourceChange: Identity<(info: ResourceChangeInfo) => void>; resourceRemove: Identity<(info: ResourceRemoveInfo) => void>; _resourceScrollRequest: Identity<(resourceId: string) => void>; }; type PremiumListeners = RawOptionsFromRefiners; type PremiumListenersRefined = RefinedOptionsFromRefiners; type ResourceAction = Action | { type: 'FETCH_RESOURCE'; } | { type: 'RECEIVE_RESOURCES'; rawResources: ResourceInput[]; fetchId: string; fetchRange: DateRange | null; } | { type: 'RECEIVE_RESOURCE_ERROR'; error: Error; fetchId: string; fetchRange: DateRange | null; } | { type: 'ADD_RESOURCE'; resourceHash: ResourceHash; } | // use a hash because needs to accept children { type: 'REMOVE_RESOURCE'; resourceId: string; } | { type: 'SET_RESOURCE_PROP'; resourceId: string; propName: string; propValue: any; } | { type: 'SET_RESOURCE_EXTENDED_PROP'; resourceId: string; propName: string; propValue: any; } | { type: 'SET_RESOURCE_ENTITY_EXPANDED'; id: string; isExpanded: boolean; } | { type: 'RESET_RESOURCE_SOURCE'; resourceSourceInput: any; } | { type: 'REFETCH_RESOURCES'; }; type ResourceEntityExpansions = { [id: string]: boolean; }; declare const EVENT_REFINERS: { resourceId: StringConstructor; resourceIds: Identity; resourceEditable: BooleanConstructor; }; type ExtraEventRefiners = typeof EVENT_REFINERS; declare module '@fullcalendar/core/protected-api' { interface BaseOptions extends PremiumOptions { } interface BaseOptionsRefined extends PremiumOptionsRefined { } interface EventRefiners extends ExtraEventRefiners { } } declare module 'fullcalendar/public-api' { interface DatePointApi { resource?: ResourceApi; } interface DateSpanApi { resource?: ResourceApi; } interface EventDropInfo { oldResource?: ResourceApi; newResource?: ResourceApi; } } //# sourceMappingURL=ambient.d.ts.map declare module 'fullcalendar/public-api' { interface EventApi { getResources: () => ResourceApi[]; setResources: (resources: (string | ResourceApi)[]) => void; } } //# sourceMappingURL=EventApi.d.ts.map declare module 'fullcalendar/public-api' { interface CalendarApi { addResource(input: ResourceInput, scrollTo?: boolean): ResourceApi; getResourceById(id: string): ResourceApi | null; getResources(): ResourceApi[]; getTopLevelResources(): ResourceApi[]; refetchResources(): void; } } declare module 'fullcalendar/protected-api' { interface CalendarListeners extends PremiumListeners { } interface CalendarListenersRefined extends PremiumListenersRefined { } interface CalendarContext { dispatch(action: ResourceAction): void; } interface CalendarData { resourceSource?: ResourceSource; resourceStore?: ResourceHash; resourceEntityExpansions?: ResourceEntityExpansions; } interface EventMutation { resourceMutation?: { matchResourceId: string; setResourceId: string; }; } interface EventDef { resourceIds?: string[]; resourceEditable?: boolean; } } declare module 'fullcalendar/protected-api' { interface EventImpl { getResources: () => ResourceApi[]; setResources: (resources: (string | ResourceApi)[]) => void; } } declare module 'fullcalendar/protected-api' { interface CalendarApiImpl { dispatch(action: ResourceAction): any; addResource(input: ResourceInput, scrollTo?: boolean): ResourceApi; getResourceById(id: string): ResourceApi | null; getResources(): ResourceApi[]; getTopLevelResources(): ResourceApi[]; refetchResources(): void; } } export { ColHeaderRenderHooks as C, GroupLaneRenderHooks as G, ResourceAddInfo as R, ColSpec as a, GroupSpec as b, ResourceApi as c, ResourceCellInfo as d, ResourceChangeInfo as e, ResourceColumnHeaderInfo as f, ResourceDayHeaderInfo as g, ResourceExpanderInfo as h, ResourceFunc as i, ResourceFuncInfo as j, ResourceGroupHeaderInfo as k, ResourceGroupLaneInfo as l, ResourceInput as m, ResourceLaneContentArgInput as n, ResourceLaneInfo as o, ResourceRemoveInfo as p, ResourceSourceInput as q, ResourceSourceInputObject as r };