import { z } from 'zod';
import { ProtocolType } from '@hyperlane-xyz/utils';
import { ChainMap } from '../types.js';
declare const TokenConfigSchema: z.ZodObject<{
    protocolType: z.ZodNativeEnum<typeof ProtocolType>;
    type: z.ZodNativeEnum<{
        readonly synthetic: "synthetic";
        readonly syntheticRebase: "syntheticRebase";
        readonly syntheticUri: "syntheticUri";
        readonly collateral: "collateral";
        readonly collateralVault: "collateralVault";
        readonly collateralVaultRebase: "collateralVaultRebase";
        readonly XERC20: "xERC20";
        readonly XERC20Lockbox: "xERC20Lockbox";
        readonly collateralFiat: "collateralFiat";
        readonly collateralUri: "collateralUri";
        readonly collateralCctp: "collateralCctp";
        readonly collateralEverclear: "collateralEverclear";
        readonly collateralDepositAddress: "collateralDepositAddress";
        readonly collateralOft: "collateralOft";
        readonly native: "native";
        readonly nativeOpL2: "nativeOpL2";
        readonly nativeOpL1: "nativeOpL1";
        readonly ethEverclear: "ethEverclear";
        readonly nativeScaled: "nativeScaled";
        readonly crossCollateral: "crossCollateral";
        readonly unknown: "unknown";
    }>;
    hypAddress: z.ZodString;
    tokenAddress: z.ZodOptional<z.ZodString>;
    tokenCoinGeckoId: z.ZodOptional<z.ZodString>;
    name: z.ZodString;
    symbol: z.ZodString;
    decimals: z.ZodNumber;
    isSpl2022: z.ZodOptional<z.ZodBoolean>;
    ibcDenom: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    symbol: string;
    type: "unknown" | "synthetic" | "syntheticRebase" | "syntheticUri" | "collateral" | "collateralVault" | "collateralVaultRebase" | "xERC20" | "xERC20Lockbox" | "collateralFiat" | "collateralUri" | "collateralCctp" | "collateralEverclear" | "collateralDepositAddress" | "collateralOft" | "native" | "nativeOpL2" | "nativeOpL1" | "ethEverclear" | "nativeScaled" | "crossCollateral";
    name: string;
    decimals: number;
    protocolType: ProtocolType;
    hypAddress: string;
    tokenAddress?: string | undefined;
    tokenCoinGeckoId?: string | undefined;
    isSpl2022?: boolean | undefined;
    ibcDenom?: string | undefined;
}, {
    symbol: string;
    type: "unknown" | "synthetic" | "syntheticRebase" | "syntheticUri" | "collateral" | "collateralVault" | "collateralVaultRebase" | "xERC20" | "xERC20Lockbox" | "collateralFiat" | "collateralUri" | "collateralCctp" | "collateralEverclear" | "collateralDepositAddress" | "collateralOft" | "native" | "nativeOpL2" | "nativeOpL1" | "ethEverclear" | "nativeScaled" | "crossCollateral";
    name: string;
    decimals: number;
    protocolType: ProtocolType;
    hypAddress: string;
    tokenAddress?: string | undefined;
    tokenCoinGeckoId?: string | undefined;
    isSpl2022?: boolean | undefined;
    ibcDenom?: string | undefined;
}>;
export declare const WarpRouteConfigSchema: z.ZodObject<{
    description: z.ZodOptional<z.ZodString>;
    timeStamp: z.ZodOptional<z.ZodString>;
    deployer: z.ZodOptional<z.ZodString>;
    data: z.ZodObject<{
        config: z.ZodRecord<z.ZodString, z.ZodObject<{
            protocolType: z.ZodNativeEnum<typeof ProtocolType>;
            type: z.ZodNativeEnum<{
                readonly synthetic: "synthetic";
                readonly syntheticRebase: "syntheticRebase";
                readonly syntheticUri: "syntheticUri";
                readonly collateral: "collateral";
                readonly collateralVault: "collateralVault";
                readonly collateralVaultRebase: "collateralVaultRebase";
                readonly XERC20: "xERC20";
                readonly XERC20Lockbox: "xERC20Lockbox";
                readonly collateralFiat: "collateralFiat";
                readonly collateralUri: "collateralUri";
                readonly collateralCctp: "collateralCctp";
                readonly collateralEverclear: "collateralEverclear";
                readonly collateralDepositAddress: "collateralDepositAddress";
                readonly collateralOft: "collateralOft";
                readonly native: "native";
                readonly nativeOpL2: "nativeOpL2";
                readonly nativeOpL1: "nativeOpL1";
                readonly ethEverclear: "ethEverclear";
                readonly nativeScaled: "nativeScaled";
                readonly crossCollateral: "crossCollateral";
                readonly unknown: "unknown";
            }>;
            hypAddress: z.ZodString;
            tokenAddress: z.ZodOptional<z.ZodString>;
            tokenCoinGeckoId: z.ZodOptional<z.ZodString>;
            name: z.ZodString;
            symbol: z.ZodString;
            decimals: z.ZodNumber;
            isSpl2022: z.ZodOptional<z.ZodBoolean>;
            ibcDenom: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            symbol: string;
            type: "unknown" | "synthetic" | "syntheticRebase" | "syntheticUri" | "collateral" | "collateralVault" | "collateralVaultRebase" | "xERC20" | "xERC20Lockbox" | "collateralFiat" | "collateralUri" | "collateralCctp" | "collateralEverclear" | "collateralDepositAddress" | "collateralOft" | "native" | "nativeOpL2" | "nativeOpL1" | "ethEverclear" | "nativeScaled" | "crossCollateral";
            name: string;
            decimals: number;
            protocolType: ProtocolType;
            hypAddress: string;
            tokenAddress?: string | undefined;
            tokenCoinGeckoId?: string | undefined;
            isSpl2022?: boolean | undefined;
            ibcDenom?: string | undefined;
        }, {
            symbol: string;
            type: "unknown" | "synthetic" | "syntheticRebase" | "syntheticUri" | "collateral" | "collateralVault" | "collateralVaultRebase" | "xERC20" | "xERC20Lockbox" | "collateralFiat" | "collateralUri" | "collateralCctp" | "collateralEverclear" | "collateralDepositAddress" | "collateralOft" | "native" | "nativeOpL2" | "nativeOpL1" | "ethEverclear" | "nativeScaled" | "crossCollateral";
            name: string;
            decimals: number;
            protocolType: ProtocolType;
            hypAddress: string;
            tokenAddress?: string | undefined;
            tokenCoinGeckoId?: string | undefined;
            isSpl2022?: boolean | undefined;
            ibcDenom?: string | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        config: Record<string, {
            symbol: string;
            type: "unknown" | "synthetic" | "syntheticRebase" | "syntheticUri" | "collateral" | "collateralVault" | "collateralVaultRebase" | "xERC20" | "xERC20Lockbox" | "collateralFiat" | "collateralUri" | "collateralCctp" | "collateralEverclear" | "collateralDepositAddress" | "collateralOft" | "native" | "nativeOpL2" | "nativeOpL1" | "ethEverclear" | "nativeScaled" | "crossCollateral";
            name: string;
            decimals: number;
            protocolType: ProtocolType;
            hypAddress: string;
            tokenAddress?: string | undefined;
            tokenCoinGeckoId?: string | undefined;
            isSpl2022?: boolean | undefined;
            ibcDenom?: string | undefined;
        }>;
    }, {
        config: Record<string, {
            symbol: string;
            type: "unknown" | "synthetic" | "syntheticRebase" | "syntheticUri" | "collateral" | "collateralVault" | "collateralVaultRebase" | "xERC20" | "xERC20Lockbox" | "collateralFiat" | "collateralUri" | "collateralCctp" | "collateralEverclear" | "collateralDepositAddress" | "collateralOft" | "native" | "nativeOpL2" | "nativeOpL1" | "ethEverclear" | "nativeScaled" | "crossCollateral";
            name: string;
            decimals: number;
            protocolType: ProtocolType;
            hypAddress: string;
            tokenAddress?: string | undefined;
            tokenCoinGeckoId?: string | undefined;
            isSpl2022?: boolean | undefined;
            ibcDenom?: string | undefined;
        }>;
    }>;
}, "strip", z.ZodTypeAny, {
    data: {
        config: Record<string, {
            symbol: string;
            type: "unknown" | "synthetic" | "syntheticRebase" | "syntheticUri" | "collateral" | "collateralVault" | "collateralVaultRebase" | "xERC20" | "xERC20Lockbox" | "collateralFiat" | "collateralUri" | "collateralCctp" | "collateralEverclear" | "collateralDepositAddress" | "collateralOft" | "native" | "nativeOpL2" | "nativeOpL1" | "ethEverclear" | "nativeScaled" | "crossCollateral";
            name: string;
            decimals: number;
            protocolType: ProtocolType;
            hypAddress: string;
            tokenAddress?: string | undefined;
            tokenCoinGeckoId?: string | undefined;
            isSpl2022?: boolean | undefined;
            ibcDenom?: string | undefined;
        }>;
    };
    deployer?: string | undefined;
    description?: string | undefined;
    timeStamp?: string | undefined;
}, {
    data: {
        config: Record<string, {
            symbol: string;
            type: "unknown" | "synthetic" | "syntheticRebase" | "syntheticUri" | "collateral" | "collateralVault" | "collateralVaultRebase" | "xERC20" | "xERC20Lockbox" | "collateralFiat" | "collateralUri" | "collateralCctp" | "collateralEverclear" | "collateralDepositAddress" | "collateralOft" | "native" | "nativeOpL2" | "nativeOpL1" | "ethEverclear" | "nativeScaled" | "crossCollateral";
            name: string;
            decimals: number;
            protocolType: ProtocolType;
            hypAddress: string;
            tokenAddress?: string | undefined;
            tokenCoinGeckoId?: string | undefined;
            isSpl2022?: boolean | undefined;
            ibcDenom?: string | undefined;
        }>;
    };
    deployer?: string | undefined;
    description?: string | undefined;
    timeStamp?: string | undefined;
}>;
export type WarpRouteConfig = ChainMap<z.infer<typeof TokenConfigSchema>>;
export {};
//# sourceMappingURL=warpRouteConfig.d.ts.map