import { SubscriptionFlowV2 } from "./class-subscription-flow";
/**
 * Hook to handle subscription logic
 * @param subscriptionFlow Instance of SubscriptionFlow that manages different subscription states and actions
 */
export declare const useSubscriptionHandlerV2: (subscriptionFlow: SubscriptionFlowV2) => {
    handleSubscriptionCheck: () => Promise<void>;
    bannerButtonTriggerCallback: (trigger: string) => ((returnURL?: string) => Promise<void>) | (() => void);
    CREDIT_INTERVAL_CHECK_COUNTER: number;
    getBillingURL: ({ returnURL, includeSubscriptionIdIfNeeded, additionalPayload, }: {
        returnURL: string;
        includeSubscriptionIdIfNeeded?: boolean;
        additionalPayload?: Record<string, any>;
    }) => Promise<string | null | undefined>;
    getTopUpURL: (obtainBillingPageURLIfNeeded?: boolean) => Promise<string | null | undefined>;
    getUserSubscriptionPackage: () => Promise<string | null>;
    getUserActiveApp: (platformKey?: string, useCache?: boolean) => Promise<{
        id: null;
        app: {
            name: string;
            url: string;
            type: string;
            metadata: null;
            onboarding_required: boolean;
        };
        platform: {
            key: any;
            name: any;
            org: any;
            lms_url: null;
            cms_url: null;
            portal_url: null;
            is_advertising: boolean;
            is_enterprise: boolean;
        };
        subscription: {
            identifier: any;
            product: null;
            active: boolean;
            subscription_ends: null;
            subscription_starts: null;
            created_on: null;
            last_updated: null;
            owner: {
                email: null;
                username: null;
            };
            trial_ends: null;
            entitlements: {
                has_credits: any;
                account_id: any;
                available_credits: any;
            };
            uuid: any;
            stripe_mode: null;
            status: string;
            subscription_id: null;
            product_sku: any;
        };
        provider: string;
        is_admin: boolean;
        is_active: boolean;
        metadata: null;
        onboarding_completed: boolean;
        free_trial_started: any;
        free_trial_expired: boolean;
        has_active_subscription: boolean;
        pricing_table: any;
    } | null>;
    getUserActiveAppLegacy: (platformKey?: string, useCache?: boolean) => Promise<import("@iblai/iblai-api").UserApp | undefined>;
};
