import { BigNumber } from '@ethersproject/bignumber'; import * as t from 'io-ts'; export interface EthAddressBrand { readonly EthAddress: unique symbol; } export declare const EthAddress: t.BrandC; export declare type EthAddress = t.TypeOf; export declare enum BurnAddress { BurnEthAddress = "0x0000000000000000000000000000000000000000" } export interface NumberStringBrand { readonly NumberString: unique symbol; } export declare const NumberString: t.BrandC; export declare type NumberString = t.TypeOf; export interface HexadecimalStringBrand { readonly HexadecimalString: unique symbol; } export declare const HexadecimalString: t.BrandC; export declare type HexadecimalString = t.TypeOf; export interface IntegerStringBrand { readonly IntegerString: unique symbol; } export declare const IntegerString: t.BrandC, IntegerStringBrand>; export interface PositiveIntegerStringBrand { readonly PositiveIntegerString: unique symbol; } export declare const PositiveIntegerStringC: t.BrandC, PositiveIntegerStringBrand>; export declare type PositiveIntegerString = t.TypeOf; export interface PositiveNumberStringBrand { readonly PositiveNumberString: unique symbol; } export declare const PositiveNumberStringC: t.BrandC, PositiveNumberStringBrand>; export declare type PositiveNumberString = t.TypeOf; export interface PositiveIntegerBrand { readonly PositiveInteger: unique symbol; } export declare type PositiveIntegerT = number & PositiveIntegerBrand; export declare const PositiveIntegerC: t.BrandC; export declare type PositiveInteger = t.TypeOf; export declare function fromEnum(enumName: string, theEnum: Record): t.Type; export declare const FeeCodec: t.TypeC<{ recipient: t.BrandC; percentage: t.NumberC; }>; export declare type FeeType = t.TypeOf; export declare enum ETHTokenType { ETH = "ETH" } export declare const ETHTokenTypeT: t.Type; export declare const ETHTokenCodec: t.TypeC<{ type: t.Type; data: t.TypeC<{ decimals: t.NumberC; }>; }>; export declare type ETHToken = t.TypeOf; export declare enum ERC20TokenType { ERC20 = "ERC20" } export declare const ERC20TokenTypeT: t.Type; export declare const ERC20TokenCodec: t.TypeC<{ type: t.Type; data: t.TypeC<{ symbol: t.StringC; decimals: t.NumberC; tokenAddress: t.BrandC; }>; }>; export declare type ERC20Token = t.TypeOf; export declare enum ERC721TokenType { ERC721 = "ERC721" } export declare const ERC721TokenTypeT: t.Type; export declare const ERC721TokenCodec: t.TypeC<{ type: t.Type; data: t.TypeC<{ tokenId: t.StringC; tokenAddress: t.BrandC; }>; }>; export declare type ERC721Token = t.TypeOf; export declare enum MintableERC20TokenType { MINTABLE_ERC20 = "MINTABLE_ERC20" } export declare const MintableERC20TokenTypeT: t.Type; export declare const MintableERC20TokenCodec: t.TypeC<{ type: t.Type; data: t.TypeC<{ id: t.StringC; blueprint: t.StringC; tokenAddress: t.UnionC<[t.StringC, t.BrandC]>; }>; }>; export declare type MintableERC20Token = t.TypeOf; export declare const MintFeeCodec: t.TypeC<{ recipient: t.BrandC; percentage: t.NumberC; }>; export declare enum MintableERC721TokenType { MINTABLE_ERC721 = "MINTABLE_ERC721" } export declare const MintableERC721TokenTypeT: t.Type; export declare const MintableERC721TokenDataCodec: t.IntersectionC<[t.TypeC<{ id: t.StringC; blueprint: t.StringC; }>, t.PartialC<{ royalties: t.ArrayC; percentage: t.NumberC; }>>; }>]>; export declare type MintableERC721TokenData = t.TypeOf; export declare const MintableERC721TokenCodec: t.TypeC<{ type: t.Type; data: t.IntersectionC<[t.TypeC<{ id: t.StringC; blueprint: t.StringC; tokenAddress: t.UnionC<[t.StringC, t.BrandC]>; }>, t.PartialC<{ royalties: t.ArrayC; percentage: t.NumberC; }>>; }>]>; }>; export declare type MintableERC721Token = t.TypeOf; export declare const TokenTypeCodec: t.UnionC<[t.Type, t.Type, t.Type, t.Type, t.Type]>; export declare const TokenCodec: t.UnionC<[t.TypeC<{ type: t.Type; data: t.TypeC<{ decimals: t.NumberC; }>; }>, t.TypeC<{ type: t.Type; data: t.TypeC<{ symbol: t.StringC; decimals: t.NumberC; tokenAddress: t.BrandC; }>; }>, t.TypeC<{ type: t.Type; data: t.TypeC<{ tokenId: t.StringC; tokenAddress: t.BrandC; }>; }>, t.TypeC<{ type: t.Type; data: t.TypeC<{ id: t.StringC; blueprint: t.StringC; tokenAddress: t.UnionC<[t.StringC, t.BrandC]>; }>; }>, t.TypeC<{ type: t.Type; data: t.IntersectionC<[t.TypeC<{ id: t.StringC; blueprint: t.StringC; tokenAddress: t.UnionC<[t.StringC, t.BrandC]>; }>, t.PartialC<{ royalties: t.ArrayC; percentage: t.NumberC; }>>; }>]>; }>]>; export declare type Token = t.TypeOf; export declare type TokenTS = t.OutputOf; export declare const MintBodyCodec: t.TypeC<{ etherKey: t.BrandC; tokens: t.ArrayC; data: t.IntersectionC<[t.TypeC<{ id: t.StringC; blueprint: t.StringC; tokenAddress: t.UnionC<[t.StringC, t.BrandC]>; }>, t.PartialC<{ royalties: t.ArrayC; percentage: t.NumberC; }>>; }>]>; }>>; nonce: t.BrandC, PositiveIntegerStringBrand>; authSignature: t.StringC; }>; export declare type MintBody = t.TypeOf; export declare const MintUserCodec: t.TypeC<{ etherKey: t.BrandC; tokens: t.ArrayC, t.PartialC<{ royalties: t.ArrayC; percentage: t.NumberC; }>>; }>]>>; }>; export declare const MintV2BodyCodec: t.IntersectionC<[t.TypeC<{ users: t.ArrayC; tokens: t.ArrayC, t.PartialC<{ royalties: t.ArrayC; percentage: t.NumberC; }>>; }>]>>; }>>; contractAddress: t.BrandC; }>, t.PartialC<{ royalties: t.ArrayC; percentage: t.NumberC; }>>; }>]>; export declare type MintV2Body = t.TypeOf; export declare const BigNumberCodec: t.TypeC<{ vaultId: t.BrandC; token: t.UnionC<[t.TypeC<{ type: t.Type; data: t.TypeC<{ decimals: t.NumberC; }>; }>, t.TypeC<{ type: t.Type; data: t.TypeC<{ symbol: t.StringC; decimals: t.NumberC; tokenAddress: t.BrandC; }>; }>, t.TypeC<{ type: t.Type; data: t.TypeC<{ tokenId: t.StringC; tokenAddress: t.BrandC; }>; }>, t.TypeC<{ type: t.Type; data: t.TypeC<{ id: t.StringC; blueprint: t.StringC; tokenAddress: t.UnionC<[t.StringC, t.BrandC]>; }>; }>, t.TypeC<{ type: t.Type; data: t.IntersectionC<[t.TypeC<{ id: t.StringC; blueprint: t.StringC; tokenAddress: t.UnionC<[t.StringC, t.BrandC]>; }>, t.PartialC<{ royalties: t.ArrayC; percentage: t.NumberC; }>>; }>]>; }>]>; quantity: t.BigIntC; }>; export declare const BigNumberT: t.Type; export declare type BigNumberT = t.TypeOf; export interface PositiveBigNumberBrand { readonly PositiveBigNumber: unique symbol; } export declare const PositiveBigNumber: t.BrandC, PositiveBigNumberBrand>; export declare type PositiveBigNumber = t.TypeOf; export interface NonNegativeBigNumberBrand { readonly NonNegativeBigNumber: unique symbol; } export declare const NonNegativeBigNumber: t.BrandC, NonNegativeBigNumberBrand>; export declare type NonNegativeBigNumber = t.TypeOf; export declare const TransferParamsCodec: t.TypeC<{ starkPublicKey: t.BrandC; vaultId: t.BrandC; }>; export declare type TransferParams = t.TypeOf; export declare const OrderParamsCodec: t.TypeC<{ vaultId: t.BrandC; token: t.UnionC<[t.TypeC<{ type: t.Type; data: t.TypeC<{ decimals: t.NumberC; }>; }>, t.TypeC<{ type: t.Type; data: t.TypeC<{ symbol: t.StringC; decimals: t.NumberC; tokenAddress: t.BrandC; }>; }>, t.TypeC<{ type: t.Type; data: t.TypeC<{ tokenId: t.StringC; tokenAddress: t.BrandC; }>; }>, t.TypeC<{ type: t.Type; data: t.TypeC<{ id: t.StringC; blueprint: t.StringC; tokenAddress: t.UnionC<[t.StringC, t.BrandC]>; }>; }>, t.TypeC<{ type: t.Type; data: t.IntersectionC<[t.TypeC<{ id: t.StringC; blueprint: t.StringC; tokenAddress: t.UnionC<[t.StringC, t.BrandC]>; }>, t.PartialC<{ royalties: t.ArrayC; percentage: t.NumberC; }>>; }>]>; }>]>; quantity: t.BrandC, PositiveBigNumberBrand>; }>; export declare type OrderParams = t.TypeOf; export declare const FeeParamsCodec: t.TypeC<{ feeToken: t.StringC; feeVaultId: t.BrandC; feeLimit: t.BrandC, PositiveBigNumberBrand>; }>; export declare type FeeParams = t.TypeOf;