/**
 * @license
 *-------------------------------------------------------------------------------------------
 * Copyright © 2026 Progress Software Corporation. All rights reserved.
 * Licensed under commercial license. See LICENSE.md in the package root for more information
 *-------------------------------------------------------------------------------------------
 */
import { ViewEventArguments, ViewWeekCellEventArguments } from './View';
import { HeaderEventArguments } from './Header';
import { BusViewService, DOMService } from '../services/main';
import { ViewService, SelectionRange } from '../models/main';
/**
 * @hidden
 */
export interface ViewListEventArguments {
    event?: any;
    value: Date;
    target: any;
    isTodayClick?: boolean;
}
/**
 * @hidden
 */
export interface ViewListProps {
    allowReverse: boolean;
    hasFocusedDate: boolean;
    activeView: number;
    bottomOffset?: number;
    bus?: BusViewService;
    cellUID: string;
    dates: any;
    dom: DOMService;
    focusedDate: Date;
    max: Date;
    min: Date;
    cell?: any;
    isActive: boolean;
    onChange?: (event: ViewListEventArguments) => void;
    selectionRange?: SelectionRange;
    service: ViewService;
    showWeekNumbers?: boolean;
    take?: number;
    value: Date | Date[] | SelectionRange | null;
    views: number;
    viewHeight?: number;
    viewOffset?: number;
    weekCell?: any;
    headerTitle?: any;
    shouldScroll?: boolean;
}
/**
 * @hidden
 */
export interface ViewListComputed {
    [key: string]: any;
    weekNames?: string[];
    weekNumber?: boolean;
    animate?: boolean;
}
/**
 * @hidden
 */
declare const ViewList: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    allowReverse: BooleanConstructor;
    hasFocusedDate: BooleanConstructor;
    activeView: {
        type: NumberConstructor;
        required: true;
    };
    bottomOffset: {
        type: NumberConstructor;
    };
    cell: (ObjectConstructor | StringConstructor | FunctionConstructor)[];
    cellUID: {
        type: StringConstructor;
        required: true;
    };
    dates: ArrayConstructor;
    focusedDate: {
        type: DateConstructor;
        required: true;
    };
    isActive: {
        type: BooleanConstructor;
        default: any;
    };
    max: {
        type: DateConstructor;
        required: true;
    };
    min: {
        type: DateConstructor;
        required: true;
    };
    selectionRange: ObjectConstructor;
    showWeekNumbers: {
        type: BooleanConstructor;
        default: boolean;
    };
    take: {
        type: NumberConstructor;
        default: number;
    };
    value: {
        type: (ArrayConstructor | ObjectConstructor | DateConstructor)[];
    };
    views: {
        type: NumberConstructor;
        default: number;
    };
    viewHeight: NumberConstructor;
    viewOffset: NumberConstructor;
    bus: ObjectConstructor;
    dom: ObjectConstructor;
    weekCell: (ObjectConstructor | StringConstructor | FunctionConstructor)[];
    service: ObjectConstructor;
    tabIndex: NumberConstructor;
    shouldScroll: BooleanConstructor;
    onChange: FunctionConstructor;
    onWeekcellclick: FunctionConstructor;
    onWeeknameclick: FunctionConstructor;
    onCellenter: FunctionConstructor;
    onViewmousedown: FunctionConstructor;
    onListfocus: FunctionConstructor;
    onListblur: FunctionConstructor;
    onListkeydown: FunctionConstructor;
    onListmousedown: FunctionConstructor;
}>, {
    kendoIntlService: {};
}, {
    lastViewsCount: number;
    valueHasUpdated: boolean;
    shouldScrollValue: boolean;
}, {
    weekNames(): ViewListComputed['weekNames'];
    weekNumber(): ViewListComputed['weekNumber'];
}, {
    handleFocus(event: any): void;
    handleBlur(event: any): void;
    handleKeyDown(event: any): void;
    handleVirtualizationMount(_virtualization: any): void;
    calculateHeights(): void;
    getTake(skip: number, total: number): number;
    handleScrollAction(): void;
    handleTodayClick(event: HeaderEventArguments): void;
    handleMouseDown(event: ViewEventArguments): void;
    handleDateChange(event: ViewEventArguments | HeaderEventArguments, isTodayClick?: boolean): void;
    handleWeekCellClick(event: ViewWeekCellEventArguments): void;
    handleWeekNameClick(event: any, value: string): void;
    handleCellEnter(event: any): void;
    rotateSelectionRange(selectionRange: SelectionRange): SelectionRange;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    allowReverse: BooleanConstructor;
    hasFocusedDate: BooleanConstructor;
    activeView: {
        type: NumberConstructor;
        required: true;
    };
    bottomOffset: {
        type: NumberConstructor;
    };
    cell: (ObjectConstructor | StringConstructor | FunctionConstructor)[];
    cellUID: {
        type: StringConstructor;
        required: true;
    };
    dates: ArrayConstructor;
    focusedDate: {
        type: DateConstructor;
        required: true;
    };
    isActive: {
        type: BooleanConstructor;
        default: any;
    };
    max: {
        type: DateConstructor;
        required: true;
    };
    min: {
        type: DateConstructor;
        required: true;
    };
    selectionRange: ObjectConstructor;
    showWeekNumbers: {
        type: BooleanConstructor;
        default: boolean;
    };
    take: {
        type: NumberConstructor;
        default: number;
    };
    value: {
        type: (ArrayConstructor | ObjectConstructor | DateConstructor)[];
    };
    views: {
        type: NumberConstructor;
        default: number;
    };
    viewHeight: NumberConstructor;
    viewOffset: NumberConstructor;
    bus: ObjectConstructor;
    dom: ObjectConstructor;
    weekCell: (ObjectConstructor | StringConstructor | FunctionConstructor)[];
    service: ObjectConstructor;
    tabIndex: NumberConstructor;
    shouldScroll: BooleanConstructor;
    onChange: FunctionConstructor;
    onWeekcellclick: FunctionConstructor;
    onWeeknameclick: FunctionConstructor;
    onCellenter: FunctionConstructor;
    onViewmousedown: FunctionConstructor;
    onListfocus: FunctionConstructor;
    onListblur: FunctionConstructor;
    onListkeydown: FunctionConstructor;
    onListmousedown: FunctionConstructor;
}>> & Readonly<{}>, {
    isActive: boolean;
    showWeekNumbers: boolean;
    allowReverse: boolean;
    hasFocusedDate: boolean;
    shouldScroll: boolean;
    take: number;
    views: number;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export { ViewList };
