import React, { ReactNode } from 'react';
import { UserInfo } from "../interfaces/types";
import { LOCALE } from "../interfaces/types/Locale";
import { Close } from "..";
import { Description } from "./components/description";
import { Form } from "./components/form";
import { Heading } from "./components/heading";
import { OtpBlock } from "./components/otpBlock";
import { Thankyou } from "./components/thankyou";
import { LeadGenSubscriptionBox } from "./LeadGenSubscriptionBox";
import { FormatMessageFunction } from "./LeadGenTranslationContext";
import './style.scss';
export type Props = {
    apiUrl?: string;
    apiSubotUrl?: string;
    siteDomain?: string;
    siteId?: string;
    locale?: LOCALE;
    primaryColor?: string;
    DEBUG_URL?: string;
    forceCampaign?: any;
    children?: ReactNode;
    extraPayloadValues?: Array<{
        key: string;
        value: string;
        control: string;
    }>;
    excludeExitRulesHandler?: boolean;
    userInfo?: UserInfo | null;
    onClose?: () => void;
    onSubmit?: (value?: any) => void;
    formatMessage?: FormatMessageFunction;
};
export interface CompoundedComponent extends React.ForwardRefExoticComponent<Props> {
    Heading: typeof Heading;
    Description: typeof Description;
    Form: typeof Form;
    Thankyou: typeof Thankyou;
    OtpForm: typeof OtpBlock;
    Close: typeof Close;
}
declare const LeadGen: CompoundedComponent;
export { LeadGen, LeadGenSubscriptionBox };
