import type { Dayjs } from 'dayjs';
import type { TextStyle, ViewStyle } from 'react-native';
export declare type Scheduling = {
    [startTimeFieldName: string]: string;
} & {
    [endTimeFieldName: string]: string;
} & {
    [titleFieldName: string]: string;
} & any;
export declare type StartHour = string;
export declare type EndHour = string;
export declare type Hours = Array<number>;
export declare type SelectedDate = Date;
export declare type ScheduleView = 'day' | 'week';
export declare type DaysWeek = Array<number>;
export declare type CellDimensions = {
    height: number;
    width: number;
};
export declare type CellSettings = {
    style?: ViewStyle;
    render?: (date: Dayjs) => JSX.Element;
};
export declare type SchedulingField = {
    name: string;
    style?: TextStyle;
    render?: (value: string, scheduling: Scheduling) => JSX.Element;
};
export declare type SchedulingFields = {
    subject: SchedulingField;
    startTime: SchedulingField;
    endTime: SchedulingField;
};
export declare type SchedulingSettings = {
    fields: SchedulingFields;
    style?: ViewStyle;
    render?: (scheduling: Scheduling, date: Dayjs) => JSX.Element;
};
export declare type HeaderSettings = {
    cellRender?: (date: Dayjs) => JSX.Element;
    /**
     * Current day color
     *
     * @default '#1a73e8'
     */
    currentDayColor?: string;
};
export declare type SidebarSettings = {
    cellRender?: (hour: number) => JSX.Element;
    /**
     * @default '#b5b5c3'
     */
    hourColor?: string;
    /**
     * if you want to display the period, set 'HH:00 A'
     * @link https://day.js.org/docs/en/display/format
     * @default 'HH:00'
     */
    hourFormat?: string;
};
export declare type ScheduleSchedulingSettings = {
    fields: Partial<SchedulingFields>;
} & Omit<SchedulingSettings, 'fields'>;
