import type { Kind, KindWithHuman, KindWithAtomic, Rationalish } from "@stable-io/amount";
import { Rational, Amount } from "@stable-io/amount";
import type { Domain } from "./chains/domains.js";
import type { Column } from "@stable-io/map-utils";
export declare const unit: <const T, const U>(symbol: T, scale: U) => {
    readonly symbol: T;
    readonly scale: U;
};
export declare const oom: (order: number) => bigint | Rational;
export declare const Duration: {
    readonly name: "Duration";
    readonly units: readonly [{
        readonly symbol: "sec";
        readonly scale: 1;
    }, {
        readonly symbol: "min";
        readonly scale: 60;
    }, {
        readonly symbol: "hr";
        readonly scale: number;
    }, {
        readonly symbol: "day";
        readonly scale: number;
    }, {
        readonly symbol: "msec";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "µsec";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "nsec";
        readonly scale: bigint | Rational;
    }];
};
export type Duration = Amount<typeof Duration>;
export declare const duration: (amount: Rationalish | string, unitSymbol: import("@stable-io/amount").SymbolsOf<{
    readonly name: "Duration";
    readonly units: readonly [{
        readonly symbol: "sec";
        readonly scale: 1;
    }, {
        readonly symbol: "min";
        readonly scale: 60;
    }, {
        readonly symbol: "hr";
        readonly scale: number;
    }, {
        readonly symbol: "day";
        readonly scale: number;
    }, {
        readonly symbol: "msec";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "µsec";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "nsec";
        readonly scale: bigint | Rational;
    }];
}>) => Amount<{
    readonly name: "Duration";
    readonly units: readonly [{
        readonly symbol: "sec";
        readonly scale: 1;
    }, {
        readonly symbol: "min";
        readonly scale: 60;
    }, {
        readonly symbol: "hr";
        readonly scale: number;
    }, {
        readonly symbol: "day";
        readonly scale: number;
    }, {
        readonly symbol: "msec";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "µsec";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "nsec";
        readonly scale: bigint | Rational;
    }];
}>;
export declare const Percentage: {
    readonly name: "Percentage";
    readonly human: "%";
    readonly units: readonly [{
        readonly symbol: "scalar";
        readonly scale: 1;
    }, {
        readonly symbol: "%";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "bp";
        readonly scale: bigint | Rational;
    }];
};
export type Percentage = Amount<typeof Percentage>;
export declare const percentage: (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
    readonly name: "Percentage";
    readonly human: "%";
    readonly units: readonly [{
        readonly symbol: "scalar";
        readonly scale: 1;
    }, {
        readonly symbol: "%";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "bp";
        readonly scale: bigint | Rational;
    }];
}> | undefined) => Amount<{
    readonly name: "Percentage";
    readonly human: "%";
    readonly units: readonly [{
        readonly symbol: "scalar";
        readonly scale: 1;
    }, {
        readonly symbol: "%";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "bp";
        readonly scale: bigint | Rational;
    }];
}>;
declare const Usd: {
    readonly name: "Usd";
    readonly units: readonly [{
        readonly symbol: "$";
        readonly scale: 1n;
    }, {
        readonly symbol: "¢";
        readonly scale: bigint | Rational;
    }];
    readonly human: "$";
    readonly atomic: "¢";
    readonly stringify: (val: Rational) => string;
};
export type Usd = Amount<typeof Usd>;
export declare const usd: (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
    readonly name: "Usd";
    readonly units: readonly [{
        readonly symbol: "$";
        readonly scale: 1n;
    }, {
        readonly symbol: "¢";
        readonly scale: bigint | Rational;
    }];
    readonly human: "$";
    readonly atomic: "¢";
    readonly stringify: (val: Rational) => string;
}> | undefined) => Amount<{
    readonly name: "Usd";
    readonly units: readonly [{
        readonly symbol: "$";
        readonly scale: 1n;
    }, {
        readonly symbol: "¢";
        readonly scale: bigint | Rational;
    }];
    readonly human: "$";
    readonly atomic: "¢";
    readonly stringify: (val: Rational) => string;
}>;
export declare const Usdc: {
    readonly name: "Usdc";
    readonly units: readonly [{
        readonly symbol: "USDC";
        readonly scale: 1;
    }, {
        readonly symbol: "µUSDC";
        readonly scale: bigint | Rational;
    }];
    readonly human: "USDC";
    readonly atomic: "µUSDC";
    readonly stringify: (val: Rational) => string;
};
export type Usdc = Amount<typeof Usdc>;
export declare const usdc: (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
    readonly name: "Usdc";
    readonly units: readonly [{
        readonly symbol: "USDC";
        readonly scale: 1;
    }, {
        readonly symbol: "µUSDC";
        readonly scale: bigint | Rational;
    }];
    readonly human: "USDC";
    readonly atomic: "µUSDC";
    readonly stringify: (val: Rational) => string;
}> | undefined) => Amount<{
    readonly name: "Usdc";
    readonly units: readonly [{
        readonly symbol: "USDC";
        readonly scale: 1;
    }, {
        readonly symbol: "µUSDC";
        readonly scale: bigint | Rational;
    }];
    readonly human: "USDC";
    readonly atomic: "µUSDC";
    readonly stringify: (val: Rational) => string;
}>;
export declare const isUsdc: (amount: Usdc | Amount<Kind>) => amount is Usdc;
export declare const GenericGasToken: {
    readonly name: "GasToken";
    readonly units: readonly [{
        readonly symbol: "GasToken";
        readonly scale: 1n;
    }, {
        readonly symbol: "mGasToken";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "µGasToken";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "nGasToken";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "aGasToken";
        readonly scale: bigint | Rational;
    }];
    readonly human: "GasToken";
};
export type GenericGasToken = Amount<typeof GenericGasToken>;
export declare const genericGasToken: (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
    readonly name: "GasToken";
    readonly units: readonly [{
        readonly symbol: "GasToken";
        readonly scale: 1n;
    }, {
        readonly symbol: "mGasToken";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "µGasToken";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "nGasToken";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "aGasToken";
        readonly scale: bigint | Rational;
    }];
    readonly human: "GasToken";
}> | undefined) => Amount<{
    readonly name: "GasToken";
    readonly units: readonly [{
        readonly symbol: "GasToken";
        readonly scale: 1n;
    }, {
        readonly symbol: "mGasToken";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "µGasToken";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "nGasToken";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "aGasToken";
        readonly scale: bigint | Rational;
    }];
    readonly human: "GasToken";
}>;
export declare const EvmGasToken: {
    readonly name: "EvmGasToken";
    readonly units: readonly [{
        readonly symbol: "EvmGasToken";
        readonly scale: 1n;
    }, {
        readonly symbol: "nEvmGasToken";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "aEvmGasToken";
        readonly scale: bigint | Rational;
    }];
    readonly human: "EvmGasToken";
    readonly atomic: "aEvmGasToken";
};
export type EvmGasToken = Amount<typeof EvmGasToken>;
export declare const evmGasToken: (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
    readonly name: "EvmGasToken";
    readonly units: readonly [{
        readonly symbol: "EvmGasToken";
        readonly scale: 1n;
    }, {
        readonly symbol: "nEvmGasToken";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "aEvmGasToken";
        readonly scale: bigint | Rational;
    }];
    readonly human: "EvmGasToken";
    readonly atomic: "aEvmGasToken";
}> | undefined) => Amount<{
    readonly name: "EvmGasToken";
    readonly units: readonly [{
        readonly symbol: "EvmGasToken";
        readonly scale: 1n;
    }, {
        readonly symbol: "nEvmGasToken";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "aEvmGasToken";
        readonly scale: bigint | Rational;
    }];
    readonly human: "EvmGasToken";
    readonly atomic: "aEvmGasToken";
}>;
export declare const Eth: {
    readonly name: "Eth";
    readonly units: readonly [{
        readonly symbol: "ETH";
        readonly scale: 1n;
    }, {
        readonly symbol: "Gwei";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "wei";
        readonly scale: bigint | Rational;
    }];
    readonly human: "ETH";
    readonly atomic: "wei";
};
export type Eth = Amount<typeof Eth>;
export declare const eth: (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
    readonly name: "Eth";
    readonly units: readonly [{
        readonly symbol: "ETH";
        readonly scale: 1n;
    }, {
        readonly symbol: "Gwei";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "wei";
        readonly scale: bigint | Rational;
    }];
    readonly human: "ETH";
    readonly atomic: "wei";
}> | undefined) => Amount<{
    readonly name: "Eth";
    readonly units: readonly [{
        readonly symbol: "ETH";
        readonly scale: 1n;
    }, {
        readonly symbol: "Gwei";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "wei";
        readonly scale: bigint | Rational;
    }];
    readonly human: "ETH";
    readonly atomic: "wei";
}>;
export declare const Avax: {
    readonly name: "Avax";
    readonly units: readonly [{
        readonly symbol: "AVAX";
        readonly scale: 1n;
    }, {
        readonly symbol: "nAVAX";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "aAVAX";
        readonly scale: bigint | Rational;
    }];
    readonly human: "AVAX";
    readonly atomic: "aAVAX";
};
export type Avax = Amount<typeof Avax>;
export declare const avax: (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
    readonly name: "Avax";
    readonly units: readonly [{
        readonly symbol: "AVAX";
        readonly scale: 1n;
    }, {
        readonly symbol: "nAVAX";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "aAVAX";
        readonly scale: bigint | Rational;
    }];
    readonly human: "AVAX";
    readonly atomic: "aAVAX";
}> | undefined) => Amount<{
    readonly name: "Avax";
    readonly units: readonly [{
        readonly symbol: "AVAX";
        readonly scale: 1n;
    }, {
        readonly symbol: "nAVAX";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "aAVAX";
        readonly scale: bigint | Rational;
    }];
    readonly human: "AVAX";
    readonly atomic: "aAVAX";
}>;
export declare const Pol: {
    readonly name: "Pol";
    readonly units: readonly [{
        readonly symbol: "POL";
        readonly scale: 1n;
    }, {
        readonly symbol: "Gwei";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "wei";
        readonly scale: bigint | Rational;
    }];
    readonly human: "POL";
    readonly atomic: "wei";
};
export type Pol = Amount<typeof Pol>;
export declare const pol: (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
    readonly name: "Pol";
    readonly units: readonly [{
        readonly symbol: "POL";
        readonly scale: 1n;
    }, {
        readonly symbol: "Gwei";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "wei";
        readonly scale: bigint | Rational;
    }];
    readonly human: "POL";
    readonly atomic: "wei";
}> | undefined) => Amount<{
    readonly name: "Pol";
    readonly units: readonly [{
        readonly symbol: "POL";
        readonly scale: 1n;
    }, {
        readonly symbol: "Gwei";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "wei";
        readonly scale: bigint | Rational;
    }];
    readonly human: "POL";
    readonly atomic: "wei";
}>;
export declare const Sonic: {
    readonly name: "Sonic";
    readonly units: readonly [{
        readonly symbol: "S";
        readonly scale: 1n;
    }, {
        readonly symbol: "Gwei";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "wei";
        readonly scale: bigint | Rational;
    }];
    readonly human: "S";
    readonly atomic: "wei";
};
export type Sonic = Amount<typeof Sonic>;
export declare const sonic: (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
    readonly name: "Sonic";
    readonly units: readonly [{
        readonly symbol: "S";
        readonly scale: 1n;
    }, {
        readonly symbol: "Gwei";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "wei";
        readonly scale: bigint | Rational;
    }];
    readonly human: "S";
    readonly atomic: "wei";
}> | undefined) => Amount<{
    readonly name: "Sonic";
    readonly units: readonly [{
        readonly symbol: "S";
        readonly scale: 1n;
    }, {
        readonly symbol: "Gwei";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "wei";
        readonly scale: bigint | Rational;
    }];
    readonly human: "S";
    readonly atomic: "wei";
}>;
export declare const Sol: {
    readonly name: "Sol";
    readonly units: readonly [{
        readonly symbol: "SOL";
        readonly scale: 1n;
    }, {
        readonly symbol: "lamports";
        readonly scale: bigint | Rational;
    }];
    readonly human: "SOL";
    readonly atomic: "lamports";
};
export type Sol = Amount<typeof Sol>;
export declare const sol: (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
    readonly name: "Sol";
    readonly units: readonly [{
        readonly symbol: "SOL";
        readonly scale: 1n;
    }, {
        readonly symbol: "lamports";
        readonly scale: bigint | Rational;
    }];
    readonly human: "SOL";
    readonly atomic: "lamports";
}> | undefined) => Amount<{
    readonly name: "Sol";
    readonly units: readonly [{
        readonly symbol: "SOL";
        readonly scale: 1n;
    }, {
        readonly symbol: "lamports";
        readonly scale: bigint | Rational;
    }];
    readonly human: "SOL";
    readonly atomic: "lamports";
}>;
export declare const Sui: {
    readonly name: "Sui";
    readonly units: readonly [{
        readonly symbol: "SUI";
        readonly scale: 1n;
    }, {
        readonly symbol: "MIST";
        readonly scale: bigint | Rational;
    }];
    readonly human: "SUI";
    readonly atomic: "MIST";
};
export type Sui = Amount<typeof Sui>;
export declare const sui: (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
    readonly name: "Sui";
    readonly units: readonly [{
        readonly symbol: "SUI";
        readonly scale: 1n;
    }, {
        readonly symbol: "MIST";
        readonly scale: bigint | Rational;
    }];
    readonly human: "SUI";
    readonly atomic: "MIST";
}> | undefined) => Amount<{
    readonly name: "Sui";
    readonly units: readonly [{
        readonly symbol: "SUI";
        readonly scale: 1n;
    }, {
        readonly symbol: "MIST";
        readonly scale: bigint | Rational;
    }];
    readonly human: "SUI";
    readonly atomic: "MIST";
}>;
export declare const Apt: {
    readonly name: "Apt";
    readonly units: readonly [{
        readonly symbol: "APT";
        readonly scale: 1n;
    }, {
        readonly symbol: "Octas";
        readonly scale: bigint | Rational;
    }];
    readonly human: "APT";
    readonly atomic: "Octas";
};
export type Apt = Amount<typeof Apt>;
export declare const apt: (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
    readonly name: "Apt";
    readonly units: readonly [{
        readonly symbol: "APT";
        readonly scale: 1n;
    }, {
        readonly symbol: "Octas";
        readonly scale: bigint | Rational;
    }];
    readonly human: "APT";
    readonly atomic: "Octas";
}> | undefined) => Amount<{
    readonly name: "Apt";
    readonly units: readonly [{
        readonly symbol: "APT";
        readonly scale: 1n;
    }, {
        readonly symbol: "Octas";
        readonly scale: bigint | Rational;
    }];
    readonly human: "APT";
    readonly atomic: "Octas";
}>;
export declare const nameKindAmountEntries: readonly [readonly ["Duration", readonly [{
    readonly name: "Duration";
    readonly units: readonly [{
        readonly symbol: "sec";
        readonly scale: 1;
    }, {
        readonly symbol: "min";
        readonly scale: 60;
    }, {
        readonly symbol: "hr";
        readonly scale: number;
    }, {
        readonly symbol: "day";
        readonly scale: number;
    }, {
        readonly symbol: "msec";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "µsec";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "nsec";
        readonly scale: bigint | Rational;
    }];
}, (amount: Rationalish | string, unitSymbol: import("@stable-io/amount").SymbolsOf<{
    readonly name: "Duration";
    readonly units: readonly [{
        readonly symbol: "sec";
        readonly scale: 1;
    }, {
        readonly symbol: "min";
        readonly scale: 60;
    }, {
        readonly symbol: "hr";
        readonly scale: number;
    }, {
        readonly symbol: "day";
        readonly scale: number;
    }, {
        readonly symbol: "msec";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "µsec";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "nsec";
        readonly scale: bigint | Rational;
    }];
}>) => Amount<{
    readonly name: "Duration";
    readonly units: readonly [{
        readonly symbol: "sec";
        readonly scale: 1;
    }, {
        readonly symbol: "min";
        readonly scale: 60;
    }, {
        readonly symbol: "hr";
        readonly scale: number;
    }, {
        readonly symbol: "day";
        readonly scale: number;
    }, {
        readonly symbol: "msec";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "µsec";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "nsec";
        readonly scale: bigint | Rational;
    }];
}>]], readonly ["Usdc", readonly [{
    readonly name: "Usdc";
    readonly units: readonly [{
        readonly symbol: "USDC";
        readonly scale: 1;
    }, {
        readonly symbol: "µUSDC";
        readonly scale: bigint | Rational;
    }];
    readonly human: "USDC";
    readonly atomic: "µUSDC";
    readonly stringify: (val: Rational) => string;
}, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
    readonly name: "Usdc";
    readonly units: readonly [{
        readonly symbol: "USDC";
        readonly scale: 1;
    }, {
        readonly symbol: "µUSDC";
        readonly scale: bigint | Rational;
    }];
    readonly human: "USDC";
    readonly atomic: "µUSDC";
    readonly stringify: (val: Rational) => string;
}> | undefined) => Amount<{
    readonly name: "Usdc";
    readonly units: readonly [{
        readonly symbol: "USDC";
        readonly scale: 1;
    }, {
        readonly symbol: "µUSDC";
        readonly scale: bigint | Rational;
    }];
    readonly human: "USDC";
    readonly atomic: "µUSDC";
    readonly stringify: (val: Rational) => string;
}>]], readonly ["GenericGasToken", readonly [{
    readonly name: "GasToken";
    readonly units: readonly [{
        readonly symbol: "GasToken";
        readonly scale: 1n;
    }, {
        readonly symbol: "mGasToken";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "µGasToken";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "nGasToken";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "aGasToken";
        readonly scale: bigint | Rational;
    }];
    readonly human: "GasToken";
}, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
    readonly name: "GasToken";
    readonly units: readonly [{
        readonly symbol: "GasToken";
        readonly scale: 1n;
    }, {
        readonly symbol: "mGasToken";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "µGasToken";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "nGasToken";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "aGasToken";
        readonly scale: bigint | Rational;
    }];
    readonly human: "GasToken";
}> | undefined) => Amount<{
    readonly name: "GasToken";
    readonly units: readonly [{
        readonly symbol: "GasToken";
        readonly scale: 1n;
    }, {
        readonly symbol: "mGasToken";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "µGasToken";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "nGasToken";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "aGasToken";
        readonly scale: bigint | Rational;
    }];
    readonly human: "GasToken";
}>]], readonly ["EvmGasToken", readonly [{
    readonly name: "EvmGasToken";
    readonly units: readonly [{
        readonly symbol: "EvmGasToken";
        readonly scale: 1n;
    }, {
        readonly symbol: "nEvmGasToken";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "aEvmGasToken";
        readonly scale: bigint | Rational;
    }];
    readonly human: "EvmGasToken";
    readonly atomic: "aEvmGasToken";
}, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
    readonly name: "EvmGasToken";
    readonly units: readonly [{
        readonly symbol: "EvmGasToken";
        readonly scale: 1n;
    }, {
        readonly symbol: "nEvmGasToken";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "aEvmGasToken";
        readonly scale: bigint | Rational;
    }];
    readonly human: "EvmGasToken";
    readonly atomic: "aEvmGasToken";
}> | undefined) => Amount<{
    readonly name: "EvmGasToken";
    readonly units: readonly [{
        readonly symbol: "EvmGasToken";
        readonly scale: 1n;
    }, {
        readonly symbol: "nEvmGasToken";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "aEvmGasToken";
        readonly scale: bigint | Rational;
    }];
    readonly human: "EvmGasToken";
    readonly atomic: "aEvmGasToken";
}>]], readonly ["Eth", readonly [{
    readonly name: "Eth";
    readonly units: readonly [{
        readonly symbol: "ETH";
        readonly scale: 1n;
    }, {
        readonly symbol: "Gwei";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "wei";
        readonly scale: bigint | Rational;
    }];
    readonly human: "ETH";
    readonly atomic: "wei";
}, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
    readonly name: "Eth";
    readonly units: readonly [{
        readonly symbol: "ETH";
        readonly scale: 1n;
    }, {
        readonly symbol: "Gwei";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "wei";
        readonly scale: bigint | Rational;
    }];
    readonly human: "ETH";
    readonly atomic: "wei";
}> | undefined) => Amount<{
    readonly name: "Eth";
    readonly units: readonly [{
        readonly symbol: "ETH";
        readonly scale: 1n;
    }, {
        readonly symbol: "Gwei";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "wei";
        readonly scale: bigint | Rational;
    }];
    readonly human: "ETH";
    readonly atomic: "wei";
}>]], readonly ["Avax", readonly [{
    readonly name: "Avax";
    readonly units: readonly [{
        readonly symbol: "AVAX";
        readonly scale: 1n;
    }, {
        readonly symbol: "nAVAX";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "aAVAX";
        readonly scale: bigint | Rational;
    }];
    readonly human: "AVAX";
    readonly atomic: "aAVAX";
}, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
    readonly name: "Avax";
    readonly units: readonly [{
        readonly symbol: "AVAX";
        readonly scale: 1n;
    }, {
        readonly symbol: "nAVAX";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "aAVAX";
        readonly scale: bigint | Rational;
    }];
    readonly human: "AVAX";
    readonly atomic: "aAVAX";
}> | undefined) => Amount<{
    readonly name: "Avax";
    readonly units: readonly [{
        readonly symbol: "AVAX";
        readonly scale: 1n;
    }, {
        readonly symbol: "nAVAX";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "aAVAX";
        readonly scale: bigint | Rational;
    }];
    readonly human: "AVAX";
    readonly atomic: "aAVAX";
}>]], readonly ["Pol", readonly [{
    readonly name: "Pol";
    readonly units: readonly [{
        readonly symbol: "POL";
        readonly scale: 1n;
    }, {
        readonly symbol: "Gwei";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "wei";
        readonly scale: bigint | Rational;
    }];
    readonly human: "POL";
    readonly atomic: "wei";
}, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
    readonly name: "Pol";
    readonly units: readonly [{
        readonly symbol: "POL";
        readonly scale: 1n;
    }, {
        readonly symbol: "Gwei";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "wei";
        readonly scale: bigint | Rational;
    }];
    readonly human: "POL";
    readonly atomic: "wei";
}> | undefined) => Amount<{
    readonly name: "Pol";
    readonly units: readonly [{
        readonly symbol: "POL";
        readonly scale: 1n;
    }, {
        readonly symbol: "Gwei";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "wei";
        readonly scale: bigint | Rational;
    }];
    readonly human: "POL";
    readonly atomic: "wei";
}>]], readonly ["Sonic", readonly [{
    readonly name: "Sonic";
    readonly units: readonly [{
        readonly symbol: "S";
        readonly scale: 1n;
    }, {
        readonly symbol: "Gwei";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "wei";
        readonly scale: bigint | Rational;
    }];
    readonly human: "S";
    readonly atomic: "wei";
}, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
    readonly name: "Sonic";
    readonly units: readonly [{
        readonly symbol: "S";
        readonly scale: 1n;
    }, {
        readonly symbol: "Gwei";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "wei";
        readonly scale: bigint | Rational;
    }];
    readonly human: "S";
    readonly atomic: "wei";
}> | undefined) => Amount<{
    readonly name: "Sonic";
    readonly units: readonly [{
        readonly symbol: "S";
        readonly scale: 1n;
    }, {
        readonly symbol: "Gwei";
        readonly scale: bigint | Rational;
    }, {
        readonly symbol: "wei";
        readonly scale: bigint | Rational;
    }];
    readonly human: "S";
    readonly atomic: "wei";
}>]], readonly ["Sol", readonly [{
    readonly name: "Sol";
    readonly units: readonly [{
        readonly symbol: "SOL";
        readonly scale: 1n;
    }, {
        readonly symbol: "lamports";
        readonly scale: bigint | Rational;
    }];
    readonly human: "SOL";
    readonly atomic: "lamports";
}, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
    readonly name: "Sol";
    readonly units: readonly [{
        readonly symbol: "SOL";
        readonly scale: 1n;
    }, {
        readonly symbol: "lamports";
        readonly scale: bigint | Rational;
    }];
    readonly human: "SOL";
    readonly atomic: "lamports";
}> | undefined) => Amount<{
    readonly name: "Sol";
    readonly units: readonly [{
        readonly symbol: "SOL";
        readonly scale: 1n;
    }, {
        readonly symbol: "lamports";
        readonly scale: bigint | Rational;
    }];
    readonly human: "SOL";
    readonly atomic: "lamports";
}>]], readonly ["Sui", readonly [{
    readonly name: "Sui";
    readonly units: readonly [{
        readonly symbol: "SUI";
        readonly scale: 1n;
    }, {
        readonly symbol: "MIST";
        readonly scale: bigint | Rational;
    }];
    readonly human: "SUI";
    readonly atomic: "MIST";
}, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
    readonly name: "Sui";
    readonly units: readonly [{
        readonly symbol: "SUI";
        readonly scale: 1n;
    }, {
        readonly symbol: "MIST";
        readonly scale: bigint | Rational;
    }];
    readonly human: "SUI";
    readonly atomic: "MIST";
}> | undefined) => Amount<{
    readonly name: "Sui";
    readonly units: readonly [{
        readonly symbol: "SUI";
        readonly scale: 1n;
    }, {
        readonly symbol: "MIST";
        readonly scale: bigint | Rational;
    }];
    readonly human: "SUI";
    readonly atomic: "MIST";
}>]], readonly ["Apt", readonly [{
    readonly name: "Apt";
    readonly units: readonly [{
        readonly symbol: "APT";
        readonly scale: 1n;
    }, {
        readonly symbol: "Octas";
        readonly scale: bigint | Rational;
    }];
    readonly human: "APT";
    readonly atomic: "Octas";
}, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
    readonly name: "Apt";
    readonly units: readonly [{
        readonly symbol: "APT";
        readonly scale: 1n;
    }, {
        readonly symbol: "Octas";
        readonly scale: bigint | Rational;
    }];
    readonly human: "APT";
    readonly atomic: "Octas";
}> | undefined) => Amount<{
    readonly name: "Apt";
    readonly units: readonly [{
        readonly symbol: "APT";
        readonly scale: 1n;
    }, {
        readonly symbol: "Octas";
        readonly scale: bigint | Rational;
    }];
    readonly human: "APT";
    readonly atomic: "Octas";
}>]]];
export type NamedKind = Column<typeof nameKindAmountEntries, 0>[number];
declare const kindAmountOf: (<const K1 extends "Sui" | "Sonic" | "Duration" | "Usdc" | "EvmGasToken" | "Eth" | "Avax" | "Pol" | "Sol" | "Apt" | "GenericGasToken">(args_0: K1) => {
    readonly Duration: readonly [{
        readonly name: "Duration";
        readonly units: readonly [{
            readonly symbol: "sec";
            readonly scale: 1;
        }, {
            readonly symbol: "min";
            readonly scale: 60;
        }, {
            readonly symbol: "hr";
            readonly scale: number;
        }, {
            readonly symbol: "day";
            readonly scale: number;
        }, {
            readonly symbol: "msec";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "µsec";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "nsec";
            readonly scale: bigint | Rational;
        }];
    }, (amount: Rationalish | string, unitSymbol: import("@stable-io/amount").SymbolsOf<{
        readonly name: "Duration";
        readonly units: readonly [{
            readonly symbol: "sec";
            readonly scale: 1;
        }, {
            readonly symbol: "min";
            readonly scale: 60;
        }, {
            readonly symbol: "hr";
            readonly scale: number;
        }, {
            readonly symbol: "day";
            readonly scale: number;
        }, {
            readonly symbol: "msec";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "µsec";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "nsec";
            readonly scale: bigint | Rational;
        }];
    }>) => Amount<{
        readonly name: "Duration";
        readonly units: readonly [{
            readonly symbol: "sec";
            readonly scale: 1;
        }, {
            readonly symbol: "min";
            readonly scale: 60;
        }, {
            readonly symbol: "hr";
            readonly scale: number;
        }, {
            readonly symbol: "day";
            readonly scale: number;
        }, {
            readonly symbol: "msec";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "µsec";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "nsec";
            readonly scale: bigint | Rational;
        }];
    }>];
    readonly Usdc: readonly [{
        readonly name: "Usdc";
        readonly units: readonly [{
            readonly symbol: "USDC";
            readonly scale: 1;
        }, {
            readonly symbol: "µUSDC";
            readonly scale: bigint | Rational;
        }];
        readonly human: "USDC";
        readonly atomic: "µUSDC";
        readonly stringify: (val: Rational) => string;
    }, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
        readonly name: "Usdc";
        readonly units: readonly [{
            readonly symbol: "USDC";
            readonly scale: 1;
        }, {
            readonly symbol: "µUSDC";
            readonly scale: bigint | Rational;
        }];
        readonly human: "USDC";
        readonly atomic: "µUSDC";
        readonly stringify: (val: Rational) => string;
    }> | undefined) => Amount<{
        readonly name: "Usdc";
        readonly units: readonly [{
            readonly symbol: "USDC";
            readonly scale: 1;
        }, {
            readonly symbol: "µUSDC";
            readonly scale: bigint | Rational;
        }];
        readonly human: "USDC";
        readonly atomic: "µUSDC";
        readonly stringify: (val: Rational) => string;
    }>];
    readonly GenericGasToken: readonly [{
        readonly name: "GasToken";
        readonly units: readonly [{
            readonly symbol: "GasToken";
            readonly scale: 1n;
        }, {
            readonly symbol: "mGasToken";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "µGasToken";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "nGasToken";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "aGasToken";
            readonly scale: bigint | Rational;
        }];
        readonly human: "GasToken";
    }, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
        readonly name: "GasToken";
        readonly units: readonly [{
            readonly symbol: "GasToken";
            readonly scale: 1n;
        }, {
            readonly symbol: "mGasToken";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "µGasToken";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "nGasToken";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "aGasToken";
            readonly scale: bigint | Rational;
        }];
        readonly human: "GasToken";
    }> | undefined) => Amount<{
        readonly name: "GasToken";
        readonly units: readonly [{
            readonly symbol: "GasToken";
            readonly scale: 1n;
        }, {
            readonly symbol: "mGasToken";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "µGasToken";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "nGasToken";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "aGasToken";
            readonly scale: bigint | Rational;
        }];
        readonly human: "GasToken";
    }>];
    readonly EvmGasToken: readonly [{
        readonly name: "EvmGasToken";
        readonly units: readonly [{
            readonly symbol: "EvmGasToken";
            readonly scale: 1n;
        }, {
            readonly symbol: "nEvmGasToken";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "aEvmGasToken";
            readonly scale: bigint | Rational;
        }];
        readonly human: "EvmGasToken";
        readonly atomic: "aEvmGasToken";
    }, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
        readonly name: "EvmGasToken";
        readonly units: readonly [{
            readonly symbol: "EvmGasToken";
            readonly scale: 1n;
        }, {
            readonly symbol: "nEvmGasToken";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "aEvmGasToken";
            readonly scale: bigint | Rational;
        }];
        readonly human: "EvmGasToken";
        readonly atomic: "aEvmGasToken";
    }> | undefined) => Amount<{
        readonly name: "EvmGasToken";
        readonly units: readonly [{
            readonly symbol: "EvmGasToken";
            readonly scale: 1n;
        }, {
            readonly symbol: "nEvmGasToken";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "aEvmGasToken";
            readonly scale: bigint | Rational;
        }];
        readonly human: "EvmGasToken";
        readonly atomic: "aEvmGasToken";
    }>];
    readonly Eth: readonly [{
        readonly name: "Eth";
        readonly units: readonly [{
            readonly symbol: "ETH";
            readonly scale: 1n;
        }, {
            readonly symbol: "Gwei";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "wei";
            readonly scale: bigint | Rational;
        }];
        readonly human: "ETH";
        readonly atomic: "wei";
    }, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
        readonly name: "Eth";
        readonly units: readonly [{
            readonly symbol: "ETH";
            readonly scale: 1n;
        }, {
            readonly symbol: "Gwei";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "wei";
            readonly scale: bigint | Rational;
        }];
        readonly human: "ETH";
        readonly atomic: "wei";
    }> | undefined) => Amount<{
        readonly name: "Eth";
        readonly units: readonly [{
            readonly symbol: "ETH";
            readonly scale: 1n;
        }, {
            readonly symbol: "Gwei";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "wei";
            readonly scale: bigint | Rational;
        }];
        readonly human: "ETH";
        readonly atomic: "wei";
    }>];
    readonly Avax: readonly [{
        readonly name: "Avax";
        readonly units: readonly [{
            readonly symbol: "AVAX";
            readonly scale: 1n;
        }, {
            readonly symbol: "nAVAX";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "aAVAX";
            readonly scale: bigint | Rational;
        }];
        readonly human: "AVAX";
        readonly atomic: "aAVAX";
    }, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
        readonly name: "Avax";
        readonly units: readonly [{
            readonly symbol: "AVAX";
            readonly scale: 1n;
        }, {
            readonly symbol: "nAVAX";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "aAVAX";
            readonly scale: bigint | Rational;
        }];
        readonly human: "AVAX";
        readonly atomic: "aAVAX";
    }> | undefined) => Amount<{
        readonly name: "Avax";
        readonly units: readonly [{
            readonly symbol: "AVAX";
            readonly scale: 1n;
        }, {
            readonly symbol: "nAVAX";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "aAVAX";
            readonly scale: bigint | Rational;
        }];
        readonly human: "AVAX";
        readonly atomic: "aAVAX";
    }>];
    readonly Pol: readonly [{
        readonly name: "Pol";
        readonly units: readonly [{
            readonly symbol: "POL";
            readonly scale: 1n;
        }, {
            readonly symbol: "Gwei";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "wei";
            readonly scale: bigint | Rational;
        }];
        readonly human: "POL";
        readonly atomic: "wei";
    }, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
        readonly name: "Pol";
        readonly units: readonly [{
            readonly symbol: "POL";
            readonly scale: 1n;
        }, {
            readonly symbol: "Gwei";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "wei";
            readonly scale: bigint | Rational;
        }];
        readonly human: "POL";
        readonly atomic: "wei";
    }> | undefined) => Amount<{
        readonly name: "Pol";
        readonly units: readonly [{
            readonly symbol: "POL";
            readonly scale: 1n;
        }, {
            readonly symbol: "Gwei";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "wei";
            readonly scale: bigint | Rational;
        }];
        readonly human: "POL";
        readonly atomic: "wei";
    }>];
    readonly Sonic: readonly [{
        readonly name: "Sonic";
        readonly units: readonly [{
            readonly symbol: "S";
            readonly scale: 1n;
        }, {
            readonly symbol: "Gwei";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "wei";
            readonly scale: bigint | Rational;
        }];
        readonly human: "S";
        readonly atomic: "wei";
    }, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
        readonly name: "Sonic";
        readonly units: readonly [{
            readonly symbol: "S";
            readonly scale: 1n;
        }, {
            readonly symbol: "Gwei";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "wei";
            readonly scale: bigint | Rational;
        }];
        readonly human: "S";
        readonly atomic: "wei";
    }> | undefined) => Amount<{
        readonly name: "Sonic";
        readonly units: readonly [{
            readonly symbol: "S";
            readonly scale: 1n;
        }, {
            readonly symbol: "Gwei";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "wei";
            readonly scale: bigint | Rational;
        }];
        readonly human: "S";
        readonly atomic: "wei";
    }>];
    readonly Sol: readonly [{
        readonly name: "Sol";
        readonly units: readonly [{
            readonly symbol: "SOL";
            readonly scale: 1n;
        }, {
            readonly symbol: "lamports";
            readonly scale: bigint | Rational;
        }];
        readonly human: "SOL";
        readonly atomic: "lamports";
    }, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
        readonly name: "Sol";
        readonly units: readonly [{
            readonly symbol: "SOL";
            readonly scale: 1n;
        }, {
            readonly symbol: "lamports";
            readonly scale: bigint | Rational;
        }];
        readonly human: "SOL";
        readonly atomic: "lamports";
    }> | undefined) => Amount<{
        readonly name: "Sol";
        readonly units: readonly [{
            readonly symbol: "SOL";
            readonly scale: 1n;
        }, {
            readonly symbol: "lamports";
            readonly scale: bigint | Rational;
        }];
        readonly human: "SOL";
        readonly atomic: "lamports";
    }>];
    readonly Sui: readonly [{
        readonly name: "Sui";
        readonly units: readonly [{
            readonly symbol: "SUI";
            readonly scale: 1n;
        }, {
            readonly symbol: "MIST";
            readonly scale: bigint | Rational;
        }];
        readonly human: "SUI";
        readonly atomic: "MIST";
    }, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
        readonly name: "Sui";
        readonly units: readonly [{
            readonly symbol: "SUI";
            readonly scale: 1n;
        }, {
            readonly symbol: "MIST";
            readonly scale: bigint | Rational;
        }];
        readonly human: "SUI";
        readonly atomic: "MIST";
    }> | undefined) => Amount<{
        readonly name: "Sui";
        readonly units: readonly [{
            readonly symbol: "SUI";
            readonly scale: 1n;
        }, {
            readonly symbol: "MIST";
            readonly scale: bigint | Rational;
        }];
        readonly human: "SUI";
        readonly atomic: "MIST";
    }>];
    readonly Apt: readonly [{
        readonly name: "Apt";
        readonly units: readonly [{
            readonly symbol: "APT";
            readonly scale: 1n;
        }, {
            readonly symbol: "Octas";
            readonly scale: bigint | Rational;
        }];
        readonly human: "APT";
        readonly atomic: "Octas";
    }, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
        readonly name: "Apt";
        readonly units: readonly [{
            readonly symbol: "APT";
            readonly scale: 1n;
        }, {
            readonly symbol: "Octas";
            readonly scale: bigint | Rational;
        }];
        readonly human: "APT";
        readonly atomic: "Octas";
    }> | undefined) => Amount<{
        readonly name: "Apt";
        readonly units: readonly [{
            readonly symbol: "APT";
            readonly scale: 1n;
        }, {
            readonly symbol: "Octas";
            readonly scale: bigint | Rational;
        }];
        readonly human: "APT";
        readonly atomic: "Octas";
    }>];
}[K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1]) & {
    readonly has: (args_0: string) => boolean;
    readonly get: (args_0: string) => (readonly [{
        readonly name: "Duration";
        readonly units: readonly [{
            readonly symbol: "sec";
            readonly scale: 1;
        }, {
            readonly symbol: "min";
            readonly scale: 60;
        }, {
            readonly symbol: "hr";
            readonly scale: number;
        }, {
            readonly symbol: "day";
            readonly scale: number;
        }, {
            readonly symbol: "msec";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "µsec";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "nsec";
            readonly scale: bigint | Rational;
        }];
    }, (amount: Rationalish | string, unitSymbol: import("@stable-io/amount").SymbolsOf<{
        readonly name: "Duration";
        readonly units: readonly [{
            readonly symbol: "sec";
            readonly scale: 1;
        }, {
            readonly symbol: "min";
            readonly scale: 60;
        }, {
            readonly symbol: "hr";
            readonly scale: number;
        }, {
            readonly symbol: "day";
            readonly scale: number;
        }, {
            readonly symbol: "msec";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "µsec";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "nsec";
            readonly scale: bigint | Rational;
        }];
    }>) => Amount<{
        readonly name: "Duration";
        readonly units: readonly [{
            readonly symbol: "sec";
            readonly scale: 1;
        }, {
            readonly symbol: "min";
            readonly scale: 60;
        }, {
            readonly symbol: "hr";
            readonly scale: number;
        }, {
            readonly symbol: "day";
            readonly scale: number;
        }, {
            readonly symbol: "msec";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "µsec";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "nsec";
            readonly scale: bigint | Rational;
        }];
    }>] | readonly [{
        readonly name: "Usdc";
        readonly units: readonly [{
            readonly symbol: "USDC";
            readonly scale: 1;
        }, {
            readonly symbol: "µUSDC";
            readonly scale: bigint | Rational;
        }];
        readonly human: "USDC";
        readonly atomic: "µUSDC";
        readonly stringify: (val: Rational) => string;
    }, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
        readonly name: "Usdc";
        readonly units: readonly [{
            readonly symbol: "USDC";
            readonly scale: 1;
        }, {
            readonly symbol: "µUSDC";
            readonly scale: bigint | Rational;
        }];
        readonly human: "USDC";
        readonly atomic: "µUSDC";
        readonly stringify: (val: Rational) => string;
    }> | undefined) => Amount<{
        readonly name: "Usdc";
        readonly units: readonly [{
            readonly symbol: "USDC";
            readonly scale: 1;
        }, {
            readonly symbol: "µUSDC";
            readonly scale: bigint | Rational;
        }];
        readonly human: "USDC";
        readonly atomic: "µUSDC";
        readonly stringify: (val: Rational) => string;
    }>] | readonly [{
        readonly name: "GasToken";
        readonly units: readonly [{
            readonly symbol: "GasToken";
            readonly scale: 1n;
        }, {
            readonly symbol: "mGasToken";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "µGasToken";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "nGasToken";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "aGasToken";
            readonly scale: bigint | Rational;
        }];
        readonly human: "GasToken";
    }, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
        readonly name: "GasToken";
        readonly units: readonly [{
            readonly symbol: "GasToken";
            readonly scale: 1n;
        }, {
            readonly symbol: "mGasToken";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "µGasToken";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "nGasToken";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "aGasToken";
            readonly scale: bigint | Rational;
        }];
        readonly human: "GasToken";
    }> | undefined) => Amount<{
        readonly name: "GasToken";
        readonly units: readonly [{
            readonly symbol: "GasToken";
            readonly scale: 1n;
        }, {
            readonly symbol: "mGasToken";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "µGasToken";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "nGasToken";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "aGasToken";
            readonly scale: bigint | Rational;
        }];
        readonly human: "GasToken";
    }>] | readonly [{
        readonly name: "EvmGasToken";
        readonly units: readonly [{
            readonly symbol: "EvmGasToken";
            readonly scale: 1n;
        }, {
            readonly symbol: "nEvmGasToken";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "aEvmGasToken";
            readonly scale: bigint | Rational;
        }];
        readonly human: "EvmGasToken";
        readonly atomic: "aEvmGasToken";
    }, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
        readonly name: "EvmGasToken";
        readonly units: readonly [{
            readonly symbol: "EvmGasToken";
            readonly scale: 1n;
        }, {
            readonly symbol: "nEvmGasToken";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "aEvmGasToken";
            readonly scale: bigint | Rational;
        }];
        readonly human: "EvmGasToken";
        readonly atomic: "aEvmGasToken";
    }> | undefined) => Amount<{
        readonly name: "EvmGasToken";
        readonly units: readonly [{
            readonly symbol: "EvmGasToken";
            readonly scale: 1n;
        }, {
            readonly symbol: "nEvmGasToken";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "aEvmGasToken";
            readonly scale: bigint | Rational;
        }];
        readonly human: "EvmGasToken";
        readonly atomic: "aEvmGasToken";
    }>] | readonly [{
        readonly name: "Eth";
        readonly units: readonly [{
            readonly symbol: "ETH";
            readonly scale: 1n;
        }, {
            readonly symbol: "Gwei";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "wei";
            readonly scale: bigint | Rational;
        }];
        readonly human: "ETH";
        readonly atomic: "wei";
    }, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
        readonly name: "Eth";
        readonly units: readonly [{
            readonly symbol: "ETH";
            readonly scale: 1n;
        }, {
            readonly symbol: "Gwei";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "wei";
            readonly scale: bigint | Rational;
        }];
        readonly human: "ETH";
        readonly atomic: "wei";
    }> | undefined) => Amount<{
        readonly name: "Eth";
        readonly units: readonly [{
            readonly symbol: "ETH";
            readonly scale: 1n;
        }, {
            readonly symbol: "Gwei";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "wei";
            readonly scale: bigint | Rational;
        }];
        readonly human: "ETH";
        readonly atomic: "wei";
    }>] | readonly [{
        readonly name: "Avax";
        readonly units: readonly [{
            readonly symbol: "AVAX";
            readonly scale: 1n;
        }, {
            readonly symbol: "nAVAX";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "aAVAX";
            readonly scale: bigint | Rational;
        }];
        readonly human: "AVAX";
        readonly atomic: "aAVAX";
    }, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
        readonly name: "Avax";
        readonly units: readonly [{
            readonly symbol: "AVAX";
            readonly scale: 1n;
        }, {
            readonly symbol: "nAVAX";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "aAVAX";
            readonly scale: bigint | Rational;
        }];
        readonly human: "AVAX";
        readonly atomic: "aAVAX";
    }> | undefined) => Amount<{
        readonly name: "Avax";
        readonly units: readonly [{
            readonly symbol: "AVAX";
            readonly scale: 1n;
        }, {
            readonly symbol: "nAVAX";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "aAVAX";
            readonly scale: bigint | Rational;
        }];
        readonly human: "AVAX";
        readonly atomic: "aAVAX";
    }>] | readonly [{
        readonly name: "Pol";
        readonly units: readonly [{
            readonly symbol: "POL";
            readonly scale: 1n;
        }, {
            readonly symbol: "Gwei";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "wei";
            readonly scale: bigint | Rational;
        }];
        readonly human: "POL";
        readonly atomic: "wei";
    }, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
        readonly name: "Pol";
        readonly units: readonly [{
            readonly symbol: "POL";
            readonly scale: 1n;
        }, {
            readonly symbol: "Gwei";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "wei";
            readonly scale: bigint | Rational;
        }];
        readonly human: "POL";
        readonly atomic: "wei";
    }> | undefined) => Amount<{
        readonly name: "Pol";
        readonly units: readonly [{
            readonly symbol: "POL";
            readonly scale: 1n;
        }, {
            readonly symbol: "Gwei";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "wei";
            readonly scale: bigint | Rational;
        }];
        readonly human: "POL";
        readonly atomic: "wei";
    }>] | readonly [{
        readonly name: "Sonic";
        readonly units: readonly [{
            readonly symbol: "S";
            readonly scale: 1n;
        }, {
            readonly symbol: "Gwei";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "wei";
            readonly scale: bigint | Rational;
        }];
        readonly human: "S";
        readonly atomic: "wei";
    }, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
        readonly name: "Sonic";
        readonly units: readonly [{
            readonly symbol: "S";
            readonly scale: 1n;
        }, {
            readonly symbol: "Gwei";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "wei";
            readonly scale: bigint | Rational;
        }];
        readonly human: "S";
        readonly atomic: "wei";
    }> | undefined) => Amount<{
        readonly name: "Sonic";
        readonly units: readonly [{
            readonly symbol: "S";
            readonly scale: 1n;
        }, {
            readonly symbol: "Gwei";
            readonly scale: bigint | Rational;
        }, {
            readonly symbol: "wei";
            readonly scale: bigint | Rational;
        }];
        readonly human: "S";
        readonly atomic: "wei";
    }>] | readonly [{
        readonly name: "Sol";
        readonly units: readonly [{
            readonly symbol: "SOL";
            readonly scale: 1n;
        }, {
            readonly symbol: "lamports";
            readonly scale: bigint | Rational;
        }];
        readonly human: "SOL";
        readonly atomic: "lamports";
    }, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
        readonly name: "Sol";
        readonly units: readonly [{
            readonly symbol: "SOL";
            readonly scale: 1n;
        }, {
            readonly symbol: "lamports";
            readonly scale: bigint | Rational;
        }];
        readonly human: "SOL";
        readonly atomic: "lamports";
    }> | undefined) => Amount<{
        readonly name: "Sol";
        readonly units: readonly [{
            readonly symbol: "SOL";
            readonly scale: 1n;
        }, {
            readonly symbol: "lamports";
            readonly scale: bigint | Rational;
        }];
        readonly human: "SOL";
        readonly atomic: "lamports";
    }>] | readonly [{
        readonly name: "Sui";
        readonly units: readonly [{
            readonly symbol: "SUI";
            readonly scale: 1n;
        }, {
            readonly symbol: "MIST";
            readonly scale: bigint | Rational;
        }];
        readonly human: "SUI";
        readonly atomic: "MIST";
    }, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
        readonly name: "Sui";
        readonly units: readonly [{
            readonly symbol: "SUI";
            readonly scale: 1n;
        }, {
            readonly symbol: "MIST";
            readonly scale: bigint | Rational;
        }];
        readonly human: "SUI";
        readonly atomic: "MIST";
    }> | undefined) => Amount<{
        readonly name: "Sui";
        readonly units: readonly [{
            readonly symbol: "SUI";
            readonly scale: 1n;
        }, {
            readonly symbol: "MIST";
            readonly scale: bigint | Rational;
        }];
        readonly human: "SUI";
        readonly atomic: "MIST";
    }>] | readonly [{
        readonly name: "Apt";
        readonly units: readonly [{
            readonly symbol: "APT";
            readonly scale: 1n;
        }, {
            readonly symbol: "Octas";
            readonly scale: bigint | Rational;
        }];
        readonly human: "APT";
        readonly atomic: "Octas";
    }, (amount: Rationalish | string, unitSymbol?: import("@stable-io/amount").SymbolsOf<{
        readonly name: "Apt";
        readonly units: readonly [{
            readonly symbol: "APT";
            readonly scale: 1n;
        }, {
            readonly symbol: "Octas";
            readonly scale: bigint | Rational;
        }];
        readonly human: "APT";
        readonly atomic: "Octas";
    }> | undefined) => Amount<{
        readonly name: "Apt";
        readonly units: readonly [{
            readonly symbol: "APT";
            readonly scale: 1n;
        }, {
            readonly symbol: "Octas";
            readonly scale: bigint | Rational;
        }];
        readonly human: "APT";
        readonly atomic: "Octas";
    }>]) | undefined;
};
type KindAmountOf<N extends NamedKind> = ReturnType<typeof kindAmountOf<N>>;
export declare const gasTokenNameEntries: readonly [readonly ["Ethereum", "Eth"], readonly ["Avalanche", "Avax"], readonly ["Optimism", "Eth"], readonly ["Arbitrum", "Eth"], readonly ["Noble", "Usdc"], readonly ["Solana", "Sol"], readonly ["Base", "Eth"], readonly ["Polygon", "Pol"], readonly ["Sui", "Sui"], readonly ["Aptos", "Apt"], readonly ["Unichain", "Eth"], readonly ["Linea", "Eth"], readonly ["Codex", "Eth"], readonly ["Sonic", "Sonic"], readonly ["Worldchain", "Eth"]];
export declare const gasTokenNameOf: (<const K1 extends "Ethereum" | "Avalanche" | "Optimism" | "Arbitrum" | "Noble" | "Solana" | "Base" | "Polygon" | "Sui" | "Aptos" | "Unichain" | "Linea" | "Codex" | "Sonic" | "Worldchain">(args_0: K1) => {
    readonly Ethereum: "Eth";
    readonly Avalanche: "Avax";
    readonly Optimism: "Eth";
    readonly Arbitrum: "Eth";
    readonly Noble: "Usdc";
    readonly Solana: "Sol";
    readonly Base: "Eth";
    readonly Polygon: "Pol";
    readonly Sui: "Sui";
    readonly Aptos: "Apt";
    readonly Unichain: "Eth";
    readonly Linea: "Eth";
    readonly Codex: "Eth";
    readonly Sonic: "Sonic";
    readonly Worldchain: "Eth";
}[K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1]) & {
    readonly has: (args_0: string) => boolean;
    readonly get: (args_0: string) => ("Sui" | "Sonic" | "Usdc" | "Eth" | "Avax" | "Pol" | "Sol" | "Apt") | undefined;
};
export type GasTokenNameOf<D extends Domain> = ReturnType<typeof gasTokenNameOf<D>>;
export type GasTokenKindOf<D extends Domain> = KindAmountOf<GasTokenNameOf<D>>[0] extends infer T extends KindWithHuman & KindWithAtomic ? T : never;
export type DistributiveAmount<K extends Kind, E extends Kind = Kind> = K extends E ? Amount<K> : never;
export type GasTokenOf<D extends Domain, E extends Domain = Domain> = DistributiveAmount<GasTokenKindOf<D>> extends infer R extends DistributiveAmount<GasTokenKindOf<E>> ? R : never;
export type GasTokenCtrOf<D extends Domain> = KindAmountOf<GasTokenNameOf<D>>[1];
export declare const gasTokenKindOf: <D extends Domain>(d: D) => GasTokenKindOf<D>;
export declare const gasTokenOf: <D extends Domain>(d: D) => GasTokenCtrOf<D>;
export {};
//# sourceMappingURL=kinds.d.ts.map