interface SetuUsageWindow {
    limit: number | null;
    used: number;
    remaining: number | null;
    percentUsed: number;
}
interface SetuSubscription {
    active: boolean;
    tierId?: string;
    tierName?: string;
    creditsIncluded?: number;
    creditsUsed?: number;
    creditsRemaining?: number;
    creditsWeeklyLimit?: number | null;
    creditsFiveHourLimit?: number | null;
    usageWindows?: {
        weekly: SetuUsageWindow;
        fiveHour: SetuUsageWindow;
    };
    periodStart?: string;
    periodEnd?: string;
}
interface SetuPayg {
    walletBalanceUsd: number;
    accountBalanceUsd: number;
    rawPoolUsd: number;
    effectiveSpendableUsd: number;
}
interface SetuLimits {
    enabled: boolean;
    dailyLimitUsd: number | null;
    dailySpentUsd: number;
    dailyRemainingUsd: number | null;
    monthlyLimitUsd: number | null;
    monthlySpentUsd: number;
    monthlyRemainingUsd: number | null;
    capRemainingUsd: number | null;
}
interface SetuState {
    balance: number | null;
    usdcBalance: number | null;
    network: 'mainnet' | 'devnet';
    isPaymentPending: boolean;
    lastPaymentAmount: number | null;
    walletAddress: string | null;
    isLoading: boolean;
    isTopupModalOpen: boolean;
    scope: 'wallet' | 'account' | null;
    payg: SetuPayg | null;
    subscription: SetuSubscription | null;
    limits: SetuLimits | null;
    setBalance: (balance: number | null) => void;
    setUsdcBalance: (usdcBalance: number | null) => void;
    setNetwork: (network: 'mainnet' | 'devnet') => void;
    setPaymentPending: (pending: boolean) => void;
    setLastPaymentAmount: (amount: number | null) => void;
    setWalletAddress: (address: string | null) => void;
    setLoading: (loading: boolean) => void;
    openTopupModal: () => void;
    closeTopupModal: () => void;
    setScope: (scope: 'wallet' | 'account' | null) => void;
    setPayg: (payg: SetuPayg | null) => void;
    setSubscription: (subscription: SetuSubscription | null) => void;
    setLimits: (limits: SetuLimits | null) => void;
}
export declare const useSetuStore: import("zustand").UseBoundStore<import("zustand").StoreApi<SetuState>>;
export {};
//# sourceMappingURL=setuStore.d.ts.map