import { RegisterOptions } from 'react-hook-form';
import { ZeniDate } from '@zeniai/client-epic-state';
import { DisableMode } from '../../../../formElements/common/common';
export interface TimelineSelectorProps {
    filterDaysIndex: number[];
    isPayNowEnabled: boolean;
    name: string;
    numberOfBusinessDays: number;
    allTabsDisabled?: boolean;
    billDueDate?: ZeniDate;
    highlightDates?: Date[];
    isDisabled?: DisableMode;
    maxDate?: ZeniDate;
    minDate?: ZeniDate;
    paymentDate?: ZeniDate;
    registerOptions?: RegisterOptions;
    style?: React.CSSProperties;
    onChangeCallback: (date: Date) => void;
}
export declare const ALL_BILL_SCHEDULE_MODES: readonly ["today", "next_business_day", "arrive_by_due_date", "issue_on_due_date"];
interface GetDateForScheduleModeProps {
    filterDaysIndex: number[];
    numberOfBusinessDays: number;
    scheduleMode: AllBillScheduleModesType;
    billDueDate?: ZeniDate;
}
export declare const toBillScheduleMode: (v: string) => "today" | "next_business_day" | "arrive_by_due_date" | "issue_on_due_date";
export type AllBillScheduleModesType = ReturnType<typeof toBillScheduleMode>;
export declare const TimelineSelectorLarge: (props: TimelineSelectorProps) => import("react/jsx-runtime").JSX.Element;
/**
 * Helpers
 */
export declare const getDateForScheduleMode: ({ scheduleMode, filterDaysIndex, numberOfBusinessDays, billDueDate, }: GetDateForScheduleModeProps) => ZeniDate | undefined;
export declare const getDateText: ({ scheduleMode, filterDaysIndex, numberOfBusinessDays, billDueDate, }: GetDateForScheduleModeProps) => string;
export {};
