import { Accessor, Component, JSXElement, Setter } from "solid-js";
import { IMonthSelectorType, IMonthYearSelectorFlexDirection, YearRange, Locale, RnColor, MakeOptionalRequired, DateObjectUnits, DateArray, RnClassName, DatePickerOnChange, DatePickerType } from "../../interface/general";
import { SelectorProps } from "../Selector";
export interface DatePickerTopProps extends RnColor, RnClassName {
    handlePrevMonth: () => void;
    handleNextMonth: () => void;
    setMonth: Setter<number>;
    setYear: Setter<number>;
    month: Accessor<number>;
    year: Accessor<number>;
    render: Accessor<boolean>;
    setShowSelectorTwo?: Setter<boolean>;
    setSelectorTwoProps?: Setter<SelectorProps>;
    showSelectorTwo?: Accessor<boolean>;
    monthSelectorJSX?: JSXElement;
    yearSelectorJSX?: JSXElement;
    monthYearSelectorJSX?: JSXElement;
    zIndex?: number;
    setAllowedComponents?: Setter<HTMLElement[]>;
    monthSelectorFormat?: IMonthSelectorType;
    monthYearSelectorFlexDirection?: IMonthYearSelectorFlexDirection;
    yearRange?: YearRange;
    locale?: Locale;
    nextIcon?: JSXElement;
    prevIcon?: JSXElement;
    removeNavButtons?: boolean;
    nextButtonAreaJSX?: JSXElement;
    prevButtonAreaJSX?: JSXElement;
    minDate?: MakeOptionalRequired<DateObjectUnits>;
    maxDate?: MakeOptionalRequired<DateObjectUnits>;
    enabledDays?: DateArray[];
    onMonthChange?: (month: number) => void;
    onChange?: (data: DatePickerOnChange) => void;
    twoMonthsDisplay?: boolean;
    type: DatePickerType;
    startDay?: DateObjectUnits;
    setStartDay: Setter<DateObjectUnits | undefined>;
    noButtonAnimation?: boolean;
    yearSelectorCount: number;
}
export declare const DatePickerTop: Component<DatePickerTopProps>;
