import { StripeCustomerPortalRequest } from "@iblai/iblai-api";
import { AccessCheckResponse } from "@iblai/data-layer";
export interface UseExternalPricingProps {
    referenceId: string;
    customerEmail: string;
    publishableKey: string;
    pricingId?: string;
}
export interface PricingModalData {
    referenceId: string;
    customerEmail: string;
    publishableKey: string;
    pricingTableId: string;
}
export interface CreateStripeCustomerPortalRequest {
    org: string;
    userId: string;
    requestBody: StripeCustomerPortalRequest;
}
/**
 * Shape of the 402 Payment Required error response body.
 * Note: Only `error` is required. Other fields may not be present
 * in all error scenarios (e.g., generic API 402 vs WebSocket 402).
 */
export interface Error402MessageData extends Partial<AccessCheckResponse> {
    error: string;
    message?: string;
    details?: {
        platform_key: string;
        current_balance_usd: string;
        required_usd: string;
        deficit_usd: string;
    };
    pricing_table?: {
        pricing_table_id: string;
        pricing_table_js: string;
        publishable_key?: string;
        client_reference_id?: string;
    };
}
