export interface BillingVisibilityState {
    /**
     * True if billing UI should be completely hidden (not available)
     */
    shouldHide: boolean;
    /**
     * True if billing is in loading state (but UI should still be visible with spinner)
     */
    isLoading: boolean;
    /**
     * True if billing is available (ready to show UI)
     */
    isReady: boolean;
}
/**
 * Hook to determine billing UI visibility and loading states
 *
 * **Visibility Rules:**
 * - Hide if `!isAvailable` (not installed/configured)
 * - Show with loading if `status === 'initializing'` during operations
 * - Show normal UI when `isAvailable && status === 'ready'`
 *
 * @returns BillingVisibilityState with visibility flags
 *
 * @example
 * ```typescript
 * const { shouldHide, isLoading, isReady } = useBillingVisibility();
 *
 * if (shouldHide) {
 *   return <FeatureDisabled featureName="Billing" />;
 * }
 *
 * if (isLoading) {
 *   return <Button disabled><Spinner /></Button>;
 * }
 *
 * return <BillingForm />;
 * ```
 */
export declare function useBillingVisibility(): BillingVisibilityState;
//# sourceMappingURL=useBillingVisibility.d.ts.map