import { PropType, Ref, EmitFn, ComputedRef } from 'vue'; import { validateNumber, type Timestamp } from '../utils/Timestamp'; export interface Task { [key: string]: any; } export declare const useTaskProps: { modelValue: { type: StringConstructor; default: string; validator: (v: string) => boolean; }; modelTasks: { type: () => Array; default: () => any[]; }; modelTitle: { type: () => Array; default: () => any[]; }; modelFooter: { type: () => Array; default: () => any[]; }; taskKey: { type: PropType; default: string; }; weekdays: { type: () => number[]; default: () => number[]; }; dateType: { type: () => "round" | "rounded" | "square"; default: string; validator: (v: string) => boolean; }; dateHeader: { type: () => "stacked" | "inline" | "inverted"; default: string; validator: (v: string) => boolean; }; weekdayAlign: { type: () => "left" | "center" | "right"; default: string; validator: (v: string) => boolean; }; dateAlign: { type: () => "left" | "center" | "right"; default: string; validator: (v: string) => boolean; }; dayHeight: { type: (StringConstructor | NumberConstructor)[]; default: number; validator: typeof validateNumber; }; dayMinHeight: { type: (StringConstructor | NumberConstructor)[]; default: number; validator: typeof validateNumber; }; weekdayStyle: { type: FunctionConstructor; default: null; }; weekdayClass: { type: FunctionConstructor; default: null; }; dayStyle: { type: FunctionConstructor; default: null; }; dayClass: { type: FunctionConstructor; default: null; }; footerDayClass: { type: FunctionConstructor; default: null; }; view: { type: () => "day" | "week" | "month"; validator: (v: string) => boolean; }; viewCount: { type: NumberConstructor; default: number; validator: (v: number) => boolean; }; taskWidth: { type: NumberConstructor; default: number; validator: (v: number) => boolean; }; }; interface TaskReturn { parsedStartDate: ComputedRef; parsedEndDate: ComputedRef; days: Ref; } export default function useTask(props: { view: 'day' | 'week' | 'month'; modelValue: string; viewCount: number; weekdays: number[]; disabledBefore?: string; disabledAfter?: string; disabledWeekdays?: number[]; disabledDays?: string[]; }, emit: EmitFn, { times, }: { times: { today: Timestamp; }; }): TaskReturn; export {};