import { ReturnTo } from '../webPlannerParams/WebPlannerParamsType';
export interface CheckoutConfig {
    buttons: CheckoutButton[];
    openOnAddToBasket?: boolean;
    url?: string;
}
export type CheckoutButton = EventButton | Share | SaveEmail | Appointment | CloseButton | AiLeadKey | SavePDF;
export interface EventButton extends BaseProps {
    type: 'EVENT';
    onlyCallEvent?: boolean;
}
export interface CloseButton extends BaseProps {
    type: 'CLOSE';
}
export interface Share extends BaseProps {
    type: 'SHARE';
    default?: 'SHARE_URL' | 'SHARE_EMAIL' | 'SHARE_WHATSAPP';
    socialMedia?: {
        title?: string;
        text?: string;
    };
    url?: boolean;
}
export interface AiLeadKey extends BaseProps {
    type: 'AI_LEAD_KEY';
}
export interface AddToBasket extends BaseProps {
    type: 'ADD_TO_BASKET';
}
export interface SaveEmail extends BaseProps {
    type: 'SAVE' | 'ADD_TO_BASKET';
    showDSGVO?: boolean;
    submitEvent?: string;
    showSubscription?: boolean;
    openPDF?: boolean;
    hideEmailForm?: boolean;
    hidePdf?: boolean;
    nameRequired?: boolean;
}
export interface SavePDF extends BaseProps {
    type: 'SAVE_PDF';
    showDSGVO?: boolean;
    showSubscription?: boolean;
}
export interface EmailConfig {
    variant?: string;
    domain?: string;
}
export interface Appointment extends BaseProps {
    type: 'APPOINTMENT';
    showDSGVO?: boolean;
    showSubscription?: boolean;
}
export interface BaseProps {
    key?: string;
    event?: string;
    returnTo?: ReturnTo;
    label?: string;
    isPrimary?: boolean;
    icon?: Icontype;
    iconSize?: number | string;
    iconUrl?: string;
    headerTitle?: string;
    emailConfig?: EmailConfig[];
    visibleHeaderFunction?: Rule;
    visibleNavigatorFunction?: Rule;
    headerFunctionName?: string;
    visibleRule?: string;
    openURL?: string;
    openModal?: {
        title: string;
        text?: string;
        reject?: boolean | string;
        accept?: boolean | string;
        rejectByIcon?: boolean;
    };
    visibleInOverview?: boolean;
    index?: number;
}
export type Rule = boolean | ('MOBILE_P' | 'MOBILE_L' | 'DESKTOP')[];
export type Icontype = 'SHARE' | 'CART' | 'LEAFTLET' | 'SAVE_MAIL' | 'APPOINTMENT' | 'P_SHARE' | 'P_SAVE' | 'PRINT' | 'HELP' | 'L_CALENDAR' | 'DO_RESET' | 'HEART' | 'BOOKMARK' | 'CLOSE' | 'PDF' | 'P_SAVE_2' | 'SHOWROOM';
//# sourceMappingURL=Checkout.d.ts.map