import type { EventTypeSetupProps, InputClassNames } from '../../../lib/types';
import type { SelectClassNames, SettingsToggleClassNames } from '../../../lib/types';
export type EventLimitsTabCustomClassNames = {
    bufferAndNoticeSection?: {
        container?: string;
        beforeBufferSelect?: SelectClassNames;
        afterBufferSelect?: SelectClassNames;
        minimumNoticeInput?: SelectClassNames & {
            input?: string;
        };
        timeSlotIntervalSelect?: SelectClassNames;
    };
    bookingFrequencyLimit: SettingsToggleClassNames & {
        intervalLimitItem?: IntervalLimitItemCustomClassNames;
        intervalLimitContainer?: string;
    };
    firstAvailableSlotOnly?: SettingsToggleClassNames;
    totalDurationLimit?: SettingsToggleClassNames & {
        intervalLimitItem?: IntervalLimitItemCustomClassNames;
    };
    futureBookingLimit?: SettingsToggleClassNames & {
        rollingLimit: RollingLimitCustomClassNames;
        rangeLimit: RangeLimitCustomClassNames;
    };
    offsetStartTimes?: SettingsToggleClassNames & {
        offsetInput?: InputClassNames;
    };
};
export type EventLimitsTabProps = Pick<EventTypeSetupProps, "eventType"> & {
    customClassNames?: EventLimitsTabCustomClassNames;
};
type RangeLimitCustomClassNames = {
    wrapper?: string;
    datePickerWraper?: string;
    datePicker?: string;
};
type RollingLimitCustomClassNames = {
    container?: string;
    textField?: string;
    periodTypeSelect?: Pick<SelectClassNames, "select" | "innerClassNames">;
};
export declare const EventLimitsTab: ({ eventType, customClassNames }: EventLimitsTabProps) => JSX.Element;
type IntervalLimitItemCustomClassNames = {
    addLimitButton?: string;
    limitText?: string;
    limitSelect?: Omit<SelectClassNames, "label" | "container">;
    container?: string;
};
type IntervalLimitsManagerProps<K extends "durationLimits" | "bookingLimits"> = {
    propertyName: K;
    defaultLimit: number;
    step: number;
    textFieldSuffix?: string;
    disabled?: boolean;
    customClassNames?: IntervalLimitItemCustomClassNames;
};
export declare const IntervalLimitsManager: <K extends "durationLimits" | "bookingLimits">({ propertyName, defaultLimit, step, textFieldSuffix, disabled, customClassNames, }: IntervalLimitsManagerProps<K>) => JSX.Element;
export {};
//# sourceMappingURL=EventLimitsTab.d.ts.map