import * as t from 'io-ts';
export interface UrlBrand {
    readonly Url: unique symbol;
}
export declare const Url: t.BrandC<t.StringC, UrlBrand>;
export type Url = t.TypeOf<typeof Url>;
export interface AddressBrand {
    readonly Address: unique symbol;
}
export declare const Address: t.Type<`0x${string}` & AddressBrand, `0x${string}`, unknown>;
export type Address = t.TypeOf<typeof Address>;
export interface AssetIdBrand {
    readonly AssetId: unique symbol;
}
export type AssetIdImpl = number & AssetIdBrand;
export declare const AssetId: t.Type<AssetIdImpl, number, unknown>;
export type AssetId = t.TypeOf<typeof AssetId>;
export interface TxHashBrand {
    readonly TxHash: unique symbol;
}
export declare const TxHash: t.Type<`0x${string}` & TxHashBrand, `0x${string}`, unknown>;
export type TxHash = t.TypeOf<typeof TxHash>;
export declare const ChainLocationString: t.Type<`0x${string}` & AddressBrand, string, unknown>;
export type ChainLocationString = t.TypeOf<typeof ChainLocationString>;
export interface ChainLocationAddressBrand {
    readonly ChainLocationAddress: unique symbol;
}
export declare const ChainLocation: t.Type<{
    chainId: "1" | "5" | "11155111" | "7668" | "7672" | "17672";
    chainType: "evm" | "root";
    chainAddress: `0x${string}` & AddressBrand;
}, (`1:evm:0x${string}` | `1:root:0x${string}` | `5:evm:0x${string}` | `5:root:0x${string}` | `11155111:evm:0x${string}` | `11155111:root:0x${string}` | `7668:evm:0x${string}` | `7668:root:0x${string}` | `7672:evm:0x${string}` | `7672:root:0x${string}` | `17672:evm:0x${string}` | `17672:root:0x${string}`) & ChainLocationAddressBrand, unknown>;
export type ChainLocation = t.TypeOf<typeof ChainLocation>;
export declare const FuturePassForEoaResponse: t.TypeC<{
    eoa: t.Type<`0x${string}` & AddressBrand, string, unknown>;
    ownedFuturepass: t.UnionC<[t.NullC, t.Type<`0x${string}` & AddressBrand, string, unknown>]>;
    linkedFuturepass: t.UnionC<[t.NullC, t.Type<`0x${string}` & AddressBrand, string, unknown>]>;
}>;
export type FuturePassForEoaResponse = t.TypeOf<typeof FuturePassForEoaResponse>;
export interface PublicKeyBrand {
    readonly PublicKey: unique symbol;
}
export declare const UserEmailAuthenticationType: t.TypeC<{
    method: t.LiteralC<"fv:email">;
    email: t.StringC;
}>;
export declare const UserIdpAuthenticationType: t.TypeC<{
    method: t.UnionC<[t.LiteralC<"fv:google">, t.LiteralC<"fv:facebook">, t.LiteralC<"fv:twitter">, t.LiteralC<"fv:tiktok">]>;
    email: t.UnionC<[t.StringC, t.UndefinedC]>;
}>;
export declare const UserWagmiAuthenticationType: t.TypeC<{
    method: t.LiteralC<"wagmi">;
    eoa: t.Type<`0x${string}` & AddressBrand, `0x${string}`, unknown>;
}>;
export declare const UserXamanAuthenticationType: t.TypeC<{
    method: t.LiteralC<"xaman">;
    rAddress: t.StringC;
}>;
export declare const UserAuthenticationMethod: t.UnionC<[t.Type<{
    method: "fv:email";
    email: string;
}, string, unknown>, t.Type<{
    method: "fv:google" | "fv:facebook" | "fv:twitter" | "fv:tiktok";
    email: string | undefined;
}, null, unknown>, t.Type<{
    method: "wagmi";
    eoa: `0x${string}` & AddressBrand;
}, string, unknown>, t.Type<{
    method: "xaman";
    rAddress: string;
}, null, unknown>]>;
