import { ReactNode } from 'react';

type PlanFeature = {
    id?: string;
    text: string;
    tooltip?: {
        title: string;
        cta: string;
        href: string;
    };
};
type PlanDetails = {
    name: string;
    price: {
        monthly: number | null;
        yearly: number | null;
        ids?: string[];
    };
    limits: {
        links: number;
        clicks: number;
        payouts: number;
        domains: number;
        tags: number;
        folders: number;
        groups: number;
        networkInvites: number;
        users: number;
        ai: number;
        api: number;
        analyticsApi: number;
        retention: string;
    };
    tiers?: {
        [key: number]: {
            price: {
                monthly: number | null;
                yearly: number | null;
                ids: string[];
            };
            limits: {
                links: number;
                clicks: number;
            };
        };
    };
    featureTitle?: string;
    features?: PlanFeature[];
};
declare const NEW_BUSINESS_PRICE_IDS: string[];
declare const PLANS: PlanDetails[];
declare const FREE_PLAN: PlanDetails;
declare const PRO_PLAN: PlanDetails;
declare const BUSINESS_PLAN: PlanDetails;
declare const ADVANCED_PLAN: PlanDetails;
declare const ENTERPRISE_PLAN: PlanDetails;
declare const SELF_SERVE_PAID_PLANS: PlanDetails[];
declare const FREE_WORKSPACES_LIMIT = 2;
declare const getPlanAndTierFromPriceId: ({ priceId, }: {
    priceId: string;
}) => {
    plan: PlanDetails | null;
    planTier: number;
};
declare const getPlanDetails: ({ plan, planTier, }: {
    plan: string;
    planTier?: number | undefined;
}) => PlanDetails;
declare const getNextPlan: (plan?: string | null) => PlanDetails;
declare const isDowngradePlan: ({ currentPlan, newPlan, currentTier, newTier, }: {
    currentPlan: string;
    newPlan: string;
    currentTier?: number | undefined;
    newTier?: number | undefined;
}) => boolean;
declare const getSuggestedPlan: ({ events, links, suggestFree, }: {
    events?: number | undefined;
    links?: number | undefined;
    suggestFree?: boolean | undefined;
}) => {
    plan: PlanDetails;
    planTier: number;
};
declare const isLegacyBusinessPlan: ({ plan, payoutsLimit, }: {
    plan?: string | undefined;
    payoutsLimit?: number | undefined;
}) => boolean;

declare const PRICING_PLAN_COMPARE_FEATURES: {
    category: string;
    href: string;
    features: {
        text: string | ((d: {
            id: string;
            plan: (typeof PLANS)[number];
        }) => ReactNode);
        href?: string;
        check?: boolean | {
            default?: boolean;
            free?: boolean;
            pro?: boolean;
            business?: boolean;
            advanced?: boolean;
            enterprise?: boolean;
        };
    }[];
}[];

type HeroFeature = {
    id?: string;
    text: string;
    disabled?: boolean;
    tooltip?: ReactNode | {
        title: string;
        cta: string;
        href: string;
    };
};
declare const PRICING_PLAN_MAIN_FEATURES: {
    links: {
        Pro: {
            features: HeroFeature[];
        }[];
        Business: {
            features: HeroFeature[];
        }[];
        Advanced: {
            features: HeroFeature[];
        }[];
        Enterprise: {
            features: HeroFeature[];
        }[];
    };
    partners: {
        Business: {
            features: HeroFeature[];
        }[];
        Advanced: {
            features: (HeroFeature | {
                id: string;
                text: string;
                tooltip: {
                    title: string;
                };
            })[];
        }[];
        Enterprise: {
            features: (HeroFeature | {
                id: string;
                text: string;
                tooltip: {
                    title: string;
                };
            })[];
        }[];
    };
};

declare const PRICING_PLAN_TAGLINES: {
    links: {
        Pro: string;
        Business: string;
        Advanced: string;
        Enterprise: string;
    };
    partners: {
        Business: string;
        Advanced: string;
        Enterprise: string;
    };
};

export { ADVANCED_PLAN as A, BUSINESS_PLAN as B, ENTERPRISE_PLAN as E, FREE_PLAN as F, NEW_BUSINESS_PRICE_IDS as N, PRICING_PLAN_COMPARE_FEATURES as P, SELF_SERVE_PAID_PLANS as S, PRICING_PLAN_MAIN_FEATURES as a, PRICING_PLAN_TAGLINES as b, PlanFeature as c, PlanDetails as d, PLANS as e, PRO_PLAN as f, FREE_WORKSPACES_LIMIT as g, getPlanAndTierFromPriceId as h, getPlanDetails as i, getNextPlan as j, isDowngradePlan as k, getSuggestedPlan as l, isLegacyBusinessPlan as m };
