import type { Squid as BaseSquid } from "@0xsquid/sdk";
import { AppConfig } from "../../core/types/config";
import { SwapParams } from "../../core/types/swap";
import { Chain, Token } from "../../core/types/tokens";
import { TransactionParams } from "../../core/types/transaction";
export interface Squid extends BaseSquid {
    tokens: Token[];
    chains: Chain[];
}
interface SquidState {
    squid?: Squid;
    maintenanceMode: {
        active: boolean;
        message?: string;
    };
}
export declare const useSquidStore: import("zustand").UseBoundStore<import("zustand").StoreApi<SquidState>>;
export interface ConfigState {
    config: AppConfig;
    isInitialized?: boolean;
}
export declare const useConfigStore: import("zustand").UseBoundStore<import("zustand").StoreApi<ConfigState>>;
interface TransactionState {
    fromPrice?: string;
    txLocalId?: string;
    transactions: Record<string, TransactionParams>;
    currentTransaction?: TransactionParams;
    setTransactionState: (id: string | undefined, transaction: TransactionParams) => void;
    getTransaction: (id: string) => TransactionParams | undefined;
}
export declare const useTransactionStore: import("zustand").UseBoundStore<import("zustand").StoreApi<TransactionState>>;
interface SwapRoutePersistState {
    swapRoute?: SwapParams;
    resetAddresses: () => void;
}
export declare const useSwapRoutePersistStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<SwapRoutePersistState>, "persist"> & {
    persist: {
        setOptions: (options: Partial<import("zustand/middleware").PersistOptions<SwapRoutePersistState, SwapRoutePersistState>>) => void;
        clearStorage: () => void;
        rehydrate: () => void | Promise<void>;
        hasHydrated: () => boolean;
        onHydrate: (fn: (state: SwapRoutePersistState) => void) => () => void;
        onFinishHydration: (fn: (state: SwapRoutePersistState) => void) => () => void;
        getOptions: () => Partial<import("zustand/middleware").PersistOptions<SwapRoutePersistState, SwapRoutePersistState>>;
    };
}>;
export {};
