type AllowNull<T, B extends boolean> = B extends true ? T | null : T;
export declare const chainItem: <C extends readonly ("Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky")[] = ["Solana", "Ethereum", "Terra", "Bsc", "Polygon", "Avalanche", "Oasis", "Algorand", "Aurora", "Fantom", "Karura", "Acala", "Klaytn", "Celo", "Near", "Moonbeam", "Neon", "Terra2", "Injective", "Osmosis", "Sui", "Aptos", "Arbitrum", "Optimism", "Gnosis", "Pythnet", "Xpla", "Btc", "Base", "Sei", "Rootstock", "Wormchain", "Cosmoshub", "Evmos", "Kujira", "Sepolia", "ArbitrumSepolia", "BaseSepolia", "OptimismSepolia", "Holesky"], N extends boolean = false>(opts?: {
    allowedChains?: C | undefined;
    allowNull?: N | undefined;
} | undefined) => {
    readonly custom: {
        to: (val: number) => AllowNull<C[number], N>;
        from: (val: AllowNull<C[number], N>) => number;
    };
    readonly binary: "uint";
    readonly size: 2;
};
export declare const fixedChainItem: <C extends "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky">(chain: C) => {
    readonly custom: {
        to: C;
        from: {
            Solana: 1;
            Ethereum: 2;
            Terra: 3;
            Bsc: 4;
            Polygon: 5;
            Avalanche: 6;
            Oasis: 7;
            Algorand: 8;
            Aurora: 9;
            Fantom: 10;
            Karura: 11;
            Acala: 12;
            Klaytn: 13;
            Celo: 14;
            Near: 15;
            Moonbeam: 16;
            Neon: 17;
            Terra2: 18;
            Injective: 19;
            Osmosis: 20;
            Sui: 21;
            Aptos: 22;
            Arbitrum: 23;
            Optimism: 24;
            Gnosis: 25;
            Pythnet: 26;
            Xpla: 28;
            Btc: 29;
            Base: 30;
            Sei: 32;
            Rootstock: 33;
            Wormchain: 3104;
            Cosmoshub: 4000;
            Evmos: 4001;
            Kujira: 4002;
            Sepolia: 10002;
            ArbitrumSepolia: 10003;
            BaseSepolia: 10004;
            OptimismSepolia: 10005;
            Holesky: 10006;
        }[C extends bigint ? `bigint(${C})` : C extends boolean ? `boolean(${C})` : C];
    };
    readonly binary: "uint";
    readonly size: 2;
};
export {};
//# sourceMappingURL=chain.d.ts.map