import { C as CustomerData, a as Customer, E as Entity } from './cusTypes-CvWNQ2-e.js';
import './prodTypes-G6W3NUPg.js';
import 'zod/v4';

interface ProductDetails {
    id: string;
    description?: string;
    buttonText?: string;
    recommendText?: string;
    everythingFrom?: string;
    price?: {
        primaryText: string;
        secondaryText?: string;
    };
    items?: {
        featureId?: string;
        primaryText: string;
        secondaryText?: string;
    }[];
}
interface PricingTableProduct {
    id: string;
    name: string;
    buttonText: string;
    price: {
        primaryText: string;
        secondaryText?: string;
    };
    items: {
        primaryText: string;
        secondaryText?: string;
    }[];
}
declare class AutumnClientError extends Error {
    code: string;
    constructor({ message, code }: {
        message: string;
        code: string;
    });
    toString(): string;
    toJSON(): {
        message: string;
        code: string;
    };
}
interface AutumnContextParams {
    encryptedCustomerId?: string;
    customerData?: CustomerData;
    authProvider?: "clerk" | "better-auth";
    customer: Customer | null;
    setCustomer: (customer: Customer | null) => void;
    entity: Entity | null;
    setEntity: (entity: Entity | null) => void;
    entityId?: string;
    prodChangeDialog: {
        found: boolean;
        setProps: (props: any) => void;
        setOpen: (open: boolean) => void;
        setComponent: (component: any) => void;
    };
    paywallDialog: {
        found: boolean;
        setProps: (props: any) => void;
        setOpen: (open: boolean) => void;
        setComponent: (component: any) => void;
    };
    pricingTableProducts: PricingTableProduct[] | null;
    setPricingTableProducts: (products: PricingTableProduct[]) => void;
}
interface AutumnProviderProps extends AutumnContextParams {
    children?: React.ReactNode;
}

export { AutumnClientError, type AutumnContextParams, type AutumnProviderProps, type PricingTableProduct, type ProductDetails };
