import dayjs from 'dayjs'; import type { SetupContext } from 'vue'; import type { DateCell } from '../date-picker.type'; import type { BasicDateTableEmits, BasicDateTableProps } from '../props/basic-date-table'; export declare const useBasicDateTable: (props: BasicDateTableProps, emit: SetupContext['emit']) => { WEEKS: import("vue").ComputedRef; rows: import("vue").ComputedRef dayjs.Dayjs; isValid: () => boolean; year: { (): number; (value: number): dayjs.Dayjs; }; month: { (): number; (value: number): dayjs.Dayjs; }; date: { (): number; (value: number): dayjs.Dayjs; }; day: { (): 0 | 1 | 2 | 3 | 4 | 5 | 6; (value: number): dayjs.Dayjs; }; hour: { (): number; (value: number): dayjs.Dayjs; }; minute: { (): number; (value: number): dayjs.Dayjs; }; second: { (): number; (value: number): dayjs.Dayjs; }; millisecond: { (): number; (value: number): dayjs.Dayjs; }; set: (unit: dayjs.UnitType, value: number) => dayjs.Dayjs; get: (unit: dayjs.UnitType) => number; add: (value: number, unit?: dayjs.ManipulateType | undefined) => dayjs.Dayjs; subtract: (value: number, unit?: dayjs.ManipulateType | undefined) => dayjs.Dayjs; startOf: (unit: dayjs.OpUnitType) => dayjs.Dayjs; endOf: (unit: dayjs.OpUnitType) => dayjs.Dayjs; format: (template?: string | undefined) => string; diff: (date?: string | number | Date | dayjs.Dayjs | null | undefined, unit?: "s" | "y" | "D" | "M" | "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "weeks" | "hours" | "minutes" | "seconds" | "hour" | "minute" | "second" | "day" | "millisecond" | "milliseconds" | "days" | "d" | "h" | "m" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number; valueOf: () => number; unix: () => number; daysInMonth: () => number; toDate: () => Date; toJSON: () => string; toISOString: () => string; toString: () => string; utcOffset: () => number; isBefore: (date?: string | number | Date | dayjs.Dayjs | null | undefined, unit?: dayjs.OpUnitType | undefined) => boolean; isSame: (date?: string | number | Date | dayjs.Dayjs | null | undefined, unit?: dayjs.OpUnitType | undefined) => boolean; isAfter: (date?: string | number | Date | dayjs.Dayjs | null | undefined, unit?: dayjs.OpUnitType | undefined) => boolean; locale: { (): string; (preset: string | ILocale, object?: Partial | undefined): dayjs.Dayjs; }; localeData: () => dayjs.InstanceLocaleDataReturn; week: { (): number; (value: number): dayjs.Dayjs; }; weekYear: () => number; dayOfYear: { (): number; (value: number): dayjs.Dayjs; }; isSameOrAfter: (date?: string | number | Date | dayjs.Dayjs | null | undefined, unit?: dayjs.OpUnitType | undefined) => boolean; isSameOrBefore: (date?: string | number | Date | dayjs.Dayjs | null | undefined, unit?: dayjs.OpUnitType | undefined) => boolean; } | undefined; isCurrent?: boolean | undefined; isSelected?: boolean | undefined; start?: boolean | undefined; text?: number | undefined; renderText?: string | undefined; timestamp?: number | undefined; date?: Date | undefined; dayjs?: { clone: () => dayjs.Dayjs; isValid: () => boolean; year: { (): number; (value: number): dayjs.Dayjs; }; month: { (): number; (value: number): dayjs.Dayjs; }; date: { (): number; (value: number): dayjs.Dayjs; }; day: { (): 0 | 1 | 2 | 3 | 4 | 5 | 6; (value: number): dayjs.Dayjs; }; hour: { (): number; (value: number): dayjs.Dayjs; }; minute: { (): number; (value: number): dayjs.Dayjs; }; second: { (): number; (value: number): dayjs.Dayjs; }; millisecond: { (): number; (value: number): dayjs.Dayjs; }; set: (unit: dayjs.UnitType, value: number) => dayjs.Dayjs; get: (unit: dayjs.UnitType) => number; add: (value: number, unit?: dayjs.ManipulateType | undefined) => dayjs.Dayjs; subtract: (value: number, unit?: dayjs.ManipulateType | undefined) => dayjs.Dayjs; startOf: (unit: dayjs.OpUnitType) => dayjs.Dayjs; endOf: (unit: dayjs.OpUnitType) => dayjs.Dayjs; format: (template?: string | undefined) => string; diff: (date?: string | number | Date | dayjs.Dayjs | null | undefined, unit?: "s" | "y" | "D" | "M" | "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "weeks" | "hours" | "minutes" | "seconds" | "hour" | "minute" | "second" | "day" | "millisecond" | "milliseconds" | "days" | "d" | "h" | "m" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number; valueOf: () => number; unix: () => number; daysInMonth: () => number; toDate: () => Date; toJSON: () => string; toISOString: () => string; toString: () => string; utcOffset: () => number; isBefore: (date?: string | number | Date | dayjs.Dayjs | null | undefined, unit?: dayjs.OpUnitType | undefined) => boolean; isSame: (date?: string | number | Date | dayjs.Dayjs | null | undefined, unit?: dayjs.OpUnitType | undefined) => boolean; isAfter: (date?: string | number | Date | dayjs.Dayjs | null | undefined, unit?: dayjs.OpUnitType | undefined) => boolean; locale: { (): string; (preset: string | ILocale, object?: Partial | undefined): dayjs.Dayjs; }; localeData: () => dayjs.InstanceLocaleDataReturn; week: { (): number; (value: number): dayjs.Dayjs; }; weekYear: () => number; dayOfYear: { (): number; (value: number): dayjs.Dayjs; }; isSameOrAfter: (date?: string | number | Date | dayjs.Dayjs | null | undefined, unit?: dayjs.OpUnitType | undefined) => boolean; isSameOrBefore: (date?: string | number | Date | dayjs.Dayjs | null | undefined, unit?: dayjs.OpUnitType | undefined) => boolean; } | undefined; type?: ("normal" | "week" | "today" | "prev-month" | "next-month") | undefined; }[][]>; tbodyRef: import("vue").Ref; currentCellRef: import("vue").Ref; focus: () => Promise; isCurrent: (cell: DateCell) => boolean; isWeekActive: (cell: DateCell) => boolean; isSelectedCell: (cell: DateCell) => boolean | undefined; handlePickDate: (event: FocusEvent | MouseEvent, isKeyboardMovement?: boolean) => void; handleMouseUp: (event: MouseEvent) => void; handleMouseDown: (event: MouseEvent) => void; handleMouseMove: (event: MouseEvent) => void; handleFocus: (event: FocusEvent) => void; }; export declare const useBasicDateTableDOM: (props: BasicDateTableProps, { isCurrent, isWeekActive, }: Pick, 'isCurrent' | 'isWeekActive'>) => { tableKls: import("vue").ComputedRef<(string | { 'is-week-mode': boolean; })[]>; tableLabel: import("vue").ComputedRef; weekLabel: import("vue").ComputedRef; getCellClasses: (cell: DateCell) => string; getRowKls: (cell: DateCell) => (string | { current: boolean; })[]; t: import("@inte-cloud/lit-element/es/hooks").Translator; };