import _m0 from "protobufjs/minimal";
export declare const protobufPackage = "rarifyprotocol.rarimocore.tokenmanager";
export interface ChainInfo {
    /** hex-encoded */
    tokenAddress: string;
    /** hex-encoded */
    tokenId: string;
}
export interface Info {
    index: string;
    chains: {
        [key: string]: ChainInfo;
    };
    creator: string;
}
export interface Info_ChainsEntry {
    key: string;
    value: ChainInfo | undefined;
}
export declare const ChainInfo: {
    encode(message: ChainInfo, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ChainInfo;
    fromJSON(object: any): ChainInfo;
    toJSON(message: ChainInfo): unknown;
    fromPartial<I extends {
        tokenAddress?: string;
        tokenId?: string;
    } & {
        tokenAddress?: string;
        tokenId?: string;
    } & { [K in Exclude<keyof I, keyof ChainInfo>]: never; }>(object: I): ChainInfo;
};
export declare const Info: {
    encode(message: Info, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Info;
    fromJSON(object: any): Info;
    toJSON(message: Info): unknown;
    fromPartial<I extends {
        index?: string;
        chains?: {
            [x: string]: {
                tokenAddress?: string;
                tokenId?: string;
            };
        };
        creator?: string;
    } & {
        index?: string;
        chains?: {
            [x: string]: {
                tokenAddress?: string;
                tokenId?: string;
            };
        } & {
            [x: string]: {
                tokenAddress?: string;
                tokenId?: string;
            } & {
                tokenAddress?: string;
                tokenId?: string;
            } & { [K in Exclude<keyof I["chains"][string], keyof ChainInfo>]: never; };
        } & { [K_1 in Exclude<keyof I["chains"], string | number>]: never; };
        creator?: string;
    } & { [K_2 in Exclude<keyof I, keyof Info>]: never; }>(object: I): Info;
};
export declare const Info_ChainsEntry: {
    encode(message: Info_ChainsEntry, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Info_ChainsEntry;
    fromJSON(object: any): Info_ChainsEntry;
    toJSON(message: Info_ChainsEntry): unknown;
    fromPartial<I extends {
        key?: string;
        value?: {
            tokenAddress?: string;
            tokenId?: string;
        };
    } & {
        key?: string;
        value?: {
            tokenAddress?: string;
            tokenId?: string;
        } & {
            tokenAddress?: string;
            tokenId?: string;
        } & { [K in Exclude<keyof I["value"], keyof ChainInfo>]: never; };
    } & { [K_1 in Exclude<keyof I, keyof Info_ChainsEntry>]: never; }>(object: I): Info_ChainsEntry;
};
declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export declare type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
declare type KeysOfUnion<T> = T extends T ? keyof T : never;
export declare type Exact<P, I extends P> = P extends Builtin ? P : P & {
    [K in keyof P]: Exact<P[K], I[K]>;
} & {
    [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
};
export {};
