import { UseMutationResult, UseQueryResult } from '@tanstack/react-query'; import { BillingCapabilities } from '@xylex-group/athena/billing'; type BillingAdminUnknownCall = (input?: object) => Promise; export interface BillingOperatorApi { admin?: { conflicts: { resolve: BillingAdminUnknownCall; }; ingestion: { health: BillingAdminUnknownCall; }; reconciliation: { run: BillingAdminUnknownCall; }; webhooks: { reconcile: BillingAdminUnknownCall; status: BillingAdminUnknownCall; verify: BillingAdminUnknownCall; }; }; getCapabilities?: (input?: Record) => Promise; } export declare function useBillingOperatorApi(): BillingOperatorApi | null; export declare function useBillingOperatorCapabilities(): { canQuery: boolean; capabilities: { canReadIngestion: boolean; canReadTraces: boolean; canReadWebhooks: boolean; canReconcileWebhooks: boolean; canResolveConflicts: boolean; canRunReconciliation: boolean; canVerifyWebhooks: boolean; }; operations: { catalog: { read: boolean; }; checkouts: { read: boolean; }; conflicts: { resolve: boolean; }; connections: { materialize: boolean; }; ingestion: { read: boolean; }; invoices: { read: boolean; }; payments: { read: boolean; write: boolean; }; reconciliation: { run: boolean; }; subscriptions: { read: boolean; write: boolean; }; webhooks: { read: boolean; reconcile: boolean; verify: boolean; }; }; query: import('../../../lib/query/tanstack.js').AthenaQueryResult; }; export interface BillingIngestionHealthSnapshot { conflicts?: number; connectionStatus?: string; provider?: string; reconciliation?: string; warnings?: readonly string[]; webhookIngestion?: string; } export declare function useBillingIngestionHealth(connectionId?: string): UseQueryResult; export interface BillingWebhookOperatorChannel { delivery: { lastAcceptedAt?: Date | string; lastRejectedAt?: Date | string; lastRejectionCode?: string; }; reconciliation: { lastOutcome?: string; }; registration: { status: string; }; verification: { strategy: string; }; } export interface BillingWebhookSigningSecretStatus { configured: boolean; fingerprint?: string; version?: number; } export interface BillingWebhookStatusSnapshot { channels?: { classic: BillingWebhookOperatorChannel; nextGen: BillingWebhookOperatorChannel; }; connectionId?: string; drift?: boolean; rows?: readonly { actual: string | number | boolean | null; desired: string | number | boolean | null; key: string; }[]; secret?: BillingWebhookSigningSecretStatus; } export declare function useBillingWebhookStatus(connectionId?: string): UseQueryResult; export declare function useRunBillingReconciliation(): UseMutationResult; export interface BillingWebhookReconcileResult { foreignUntouched: number; plans: readonly { action: string; kind: string; owned: boolean; reason: string; }[]; traceId: string; } export declare function useReconcileBillingWebhooks(): UseMutationResult; export declare function useVerifyBillingConnection(): UseMutationResult; export interface BillingConflictResolveInput { action: "bind" | "keep" | "reassign"; confirmReassign?: boolean; connectionId: string; providerCustomerId: string; subject?: { id: string; kind: "user" | "organization"; }; } export interface BillingConflictResolveResult { action: "bind" | "keep" | "reassign"; bindingId?: string; traceId: string; } export declare function useResolveBillingConflict(): UseMutationResult; export {};