import type { BillingAccount } from "@stigmer/protos/ai/stigmer/billing/v1/billing_account_pb";
/** Input for {@link useSetAutoRechargeConfig}. */
export interface SetAutoRechargeConfigInput {
    /** Organization ID to configure auto-recharge for. */
    readonly orgId: string;
    /** Whether auto-recharge is enabled. */
    readonly enabled: boolean;
    /** Trigger threshold in micro-USD. */
    readonly thresholdMicros: bigint;
    /** Fixed charge per recharge event in micro-USD. */
    readonly rechargeAmountMicros: bigint;
    /** Maximum monthly auto-recharge spend in micro-USD. */
    readonly monthlyCapMicros: bigint;
}
/** Return value of {@link useSetAutoRechargeConfig}. */
export interface UseSetAutoRechargeConfigReturn {
    /**
     * Save auto-recharge configuration. Returns the updated BillingAccount
     * on success.
     */
    readonly setConfig: (input: SetAutoRechargeConfigInput) => Promise<BillingAccount>;
    /** `true` while the configuration is being saved. */
    readonly isSubmitting: boolean;
    /** Error from the last failed attempt, or `null` when healthy. */
    readonly error: Error | null;
    /** Reset `error` to `null`. */
    readonly clearError: () => void;
}
/**
 * Behavior hook for configuring auto-recharge settings.
 *
 * Wraps `billing.setAutoRechargeConfig` with loading and error state
 * management. Returns the updated `BillingAccount` on success so the
 * parent can refresh its cached data.
 *
 * @example
 * ```tsx
 * const { setConfig, isSubmitting, error } = useSetAutoRechargeConfig();
 *
 * await setConfig({
 *   orgId,
 *   enabled: true,
 *   thresholdMicros: BigInt(5_000_000),
 *   rechargeAmountMicros: BigInt(50_000_000),
 *   monthlyCapMicros: BigInt(200_000_000),
 * });
 * ```
 */
export declare function useSetAutoRechargeConfig(): UseSetAutoRechargeConfigReturn;
//# sourceMappingURL=useSetAutoRechargeConfig.d.ts.map