import { type VariantProps } from 'class-variance-authority';
import * as React from 'react';
declare const inlineCTAVariants: (props?: ({
    variant?: "full-width" | "bordered" | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
interface InlineCTABaseProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title' | 'onSubmit'>, VariantProps<typeof inlineCTAVariants> {
    /** Title text for the CTA */
    title: React.ReactNode;
    /** Supporting description text */
    description?: React.ReactNode;
}
export interface InlineCTAActionsProps extends InlineCTABaseProps {
    type: 'actions';
    /** Primary action button label */
    primaryLabel?: string;
    /** Callback when primary button is clicked */
    onPrimaryClick?: () => void;
    /** Secondary action button label */
    secondaryLabel?: string;
    /** Callback when secondary button is clicked */
    onSecondaryClick?: () => void;
    /** Stack buttons vertically (for mobile) */
    stackedActions?: boolean;
}
export interface InlineCTAEmailProps extends InlineCTABaseProps {
    type: 'email';
    /** Label for the email input field */
    inputLabel?: string;
    /** Placeholder for the email input */
    inputPlaceholder?: string;
    /** Submit button label */
    submitLabel?: string;
    /** Callback when form is submitted */
    onSubmit?: (email: string) => void;
    /** Stack input and button vertically (for mobile) */
    stackedLayout?: boolean;
    /** Default email value */
    defaultValue?: string;
    /** Loading state for the submit button */
    loading?: boolean;
}
export interface InlineCTAImageProps extends InlineCTABaseProps {
    type: 'image';
    /** Image source URL */
    imageSrc: string;
    /** Image alt text */
    imageAlt?: string;
    /** Show play button overlay on image */
    showPlayButton?: boolean;
    /** Callback when play button is clicked */
    onPlayClick?: () => void;
    /** Primary action button label */
    primaryLabel?: string;
    /** Callback when primary button is clicked */
    onPrimaryClick?: () => void;
    /** Secondary action button label */
    secondaryLabel?: string;
    /** Callback when secondary button is clicked */
    onSecondaryClick?: () => void;
    /** Stack buttons vertically (for mobile) */
    stackedActions?: boolean;
}
export type InlineCTAProps = InlineCTAActionsProps | InlineCTAEmailProps | InlineCTAImageProps;
declare function InlineCTA(props: InlineCTAProps): import("react/jsx-runtime").JSX.Element | null;
declare namespace InlineCTA {
    var displayName: string;
}
export { InlineCTA, inlineCTAVariants };
