import type { BillingAuthState } from '@donotdev/billing';
import type { BillingAPI } from '@donotdev/core';
export type { BillingAuthState } from '@donotdev/billing';
/**
 * Safe wrapper for useStripeBilling hook.
 *
 * - If @donotdev/billing installed → uses real hook
 * - If not installed → returns degraded API values
 *
 * **IMPORTANT:** For `isAvailable` to return `true`, you must pass `authState`.
 * Without auth state, billing will return `isAvailable: false` until auth status is `ready`.
 *
 * @param key - Property name to access from billing API
 * @param authState - Auth state from useAuthSafe (user, status)
 * @returns The billing API value, or degraded value if billing unavailable
 *
 * @example
 * ```typescript
 * // Get auth state first
 * const user = useAuthSafe('user');
 * const status = useAuthSafe('status'); // 'initializing' | 'ready' | 'degraded' | 'error'
 * const authState = { user, status };
 *
 * // Pass to billing
 * const checkout = useStripeBillingSafe('checkout', authState);
 * const billingStatus = useStripeBillingSafe('status', authState);
 * const isAvailable = useStripeBillingSafe('isAvailable', authState);
 * ```
 */
export declare function useStripeBillingSafe<K extends keyof BillingAPI>(key: K, authState?: BillingAuthState): BillingAPI[K];
/**
 * Check if billing module is available (for conditional UI rendering)
 */
export declare const isBillingAvailable: boolean;
//# sourceMappingURL=useStripeBillingSafe.d.ts.map