import { Ref, EmitFn, ComputedRef } from 'vue'; import { createNativeLocaleFormatter, Timestamp } from '../utils/Timestamp'; import { CommonProps } from './useCommon'; import { CellWidthProps } from './useCellWidth'; import { Scope } from './useInterval'; export interface MonthProps { dayHeight: number | string; dayMinHeight: number | string; dayStyle?: (_scope: Scope) => any; dayClass?: (_scope: Scope) => string; weekdayStyle?: (_scope: Scope) => any; weekdayClass?: (_scope: Scope) => string; dayPadding?: string; minWeeks: number | string; shortMonthLabel: boolean; showWorkWeeks: boolean; showMonthLabel: boolean; showDayOfYearLabel: boolean; enableOutsideDays: boolean; noOutsideDays: boolean; hover: boolean; miniMode: boolean | 'auto'; breakpoint: number | string; monthLabelSize: string; } export declare const useMonthProps: { dayHeight: { type: (StringConstructor | NumberConstructor)[]; default: number; validator: (v: any) => boolean; }; dayMinHeight: { type: (StringConstructor | NumberConstructor)[]; default: number; validator: (v: any) => boolean; }; dayStyle: FunctionConstructor; dayClass: FunctionConstructor; weekdayStyle: FunctionConstructor; weekdayClass: FunctionConstructor; dayPadding: StringConstructor; minWeeks: { type: (StringConstructor | NumberConstructor)[]; default: number; validator: (v: any) => boolean; }; shortMonthLabel: BooleanConstructor; showWorkWeeks: BooleanConstructor; showMonthLabel: { type: BooleanConstructor; default: boolean; }; showDayOfYearLabel: BooleanConstructor; enableOutsideDays: BooleanConstructor; noOutsideDays: BooleanConstructor; hover: BooleanConstructor; miniMode: { type: (StringConstructor | BooleanConstructor)[]; validator: (v: any) => boolean; }; breakpoint: { type: (StringConstructor | NumberConstructor)[]; default: string; validator: (v: any) => boolean; }; monthLabelSize: { type: StringConstructor; default: string; validator: (v: any) => boolean; }; }; interface UseMonthReturn { parsedCellWidth: ComputedRef; parsedMinWeeks: ComputedRef; parsedMinDays: ComputedRef; parsedMonthStart: ComputedRef; parsedMonthEnd: ComputedRef; parsedBreakpoint: ComputedRef; parsedMonthLabelSize: ComputedRef; days: Ref; todayWeek: Ref; isMiniMode: ComputedRef; monthFormatter: Ref>; isOutside: (_timestamp: Timestamp) => boolean; } export default function useMonth(props: MonthProps & CommonProps & CellWidthProps, emit: EmitFn<{ 'mini-mode': [boolean]; }>, { times, parsedStart, parsedEnd, size, headerColumnRef, }: { times: { today: Timestamp; }; parsedStart: Ref; parsedEnd: Ref; size: { width: number; }; headerColumnRef: Ref<{ offsetWidth: number; } | null>; }): UseMonthReturn; export {};