/// <reference types="node" />
export declare const configSchema: {
    $id: string;
    type: string;
    properties: {
        userAccountInitializationFee: {
            type: string;
            format: string;
        };
        escrowAccountInitializationFee: {
            type: string;
            format: string;
        };
    };
};
export interface AvailableLocalIDStoreData {
    nextAvailableLocalID: Buffer;
}
export declare const availableLocalIDStoreSchema: {
    $id: string;
    type: string;
    required: string[];
    properties: {
        nextAvailableLocalID: {
            dataType: string;
            fieldNumber: number;
        };
    };
};
export interface TerminatedEscrowStoreData {
    escrowTerminated: boolean;
}
export declare const terminatedEscrowStoreSchema: {
    $id: string;
    type: string;
    required: string[];
    properties: {
        escrowTerminated: {
            dataType: string;
            fieldNumber: number;
        };
    };
};
export declare const transferParamsSchema: {
    $id: string;
    title: string;
    type: string;
    required: string[];
    properties: {
        tokenID: {
            dataType: string;
            fieldNumber: number;
            minLength: number;
            maxLength: number;
        };
        amount: {
            dataType: string;
            fieldNumber: number;
        };
        recipientAddress: {
            dataType: string;
            fieldNumber: number;
            format: string;
        };
        data: {
            dataType: string;
            fieldNumber: number;
            minLength: number;
            maxLength: number;
        };
    };
};
export declare const crossChainTransferParamsSchema: {
    $id: string;
    type: string;
    required: string[];
    properties: {
        tokenID: {
            dataType: string;
            fieldNumber: number;
            minLength: number;
            maxLength: number;
        };
        amount: {
            dataType: string;
            fieldNumber: number;
        };
        receivingChainID: {
            dataType: string;
            fieldNumber: number;
            minLength: number;
            maxLength: number;
        };
        recipientAddress: {
            dataType: string;
            fieldNumber: number;
            format: string;
        };
        data: {
            dataType: string;
            fieldNumber: number;
            minLength: number;
            maxLength: number;
        };
        messageFee: {
            dataType: string;
            fieldNumber: number;
        };
        messageFeeTokenID: {
            dataType: string;
            fieldNumber: number;
            minLength: number;
            maxLength: number;
        };
    };
};
export interface CCTransferMessageParams {
    tokenID: Buffer;
    amount: bigint;
    senderAddress: Buffer;
    recipientAddress: Buffer;
    data: string;
}
export declare const crossChainTransferMessageParams: {
    $id: string;
    type: string;
    required: string[];
    properties: {
        tokenID: {
            dataType: string;
            fieldNumber: number;
            minLength: number;
            maxLength: number;
        };
        amount: {
            dataType: string;
            fieldNumber: number;
        };
        senderAddress: {
            dataType: string;
            fieldNumber: number;
            format: string;
        };
        recipientAddress: {
            dataType: string;
            fieldNumber: number;
            format: string;
        };
        data: {
            dataType: string;
            fieldNumber: number;
            minLength: number;
            maxLength: number;
        };
    };
};
export interface CCForwardMessageParams {
    tokenID: Buffer;
    amount: bigint;
    senderAddress: Buffer;
    forwardToChainID: Buffer;
    recipientAddress: Buffer;
    data: string;
    forwardedMessageFee: bigint;
}
export declare const crossChainForwardMessageParams: {
    $id: string;
    type: string;
    required: string[];
    properties: {
        tokenID: {
            dataType: string;
            fieldNumber: number;
            minLength: number;
            maxLength: number;
        };
        amount: {
            dataType: string;
            fieldNumber: number;
        };
        senderAddress: {
            dataType: string;
            fieldNumber: number;
            format: string;
        };
        forwardToChainID: {
            dataType: string;
            fieldNumber: number;
            minLength: number;
            maxLength: number;
        };
        recipientAddress: {
            dataType: string;
            fieldNumber: number;
            format: string;
        };
        data: {
            dataType: string;
            fieldNumber: number;
            minLength: number;
            maxLength: number;
        };
        forwardedMessageFee: {
            dataType: string;
            fieldNumber: number;
        };
    };
};
export declare const genesisTokenStoreSchema: {
    $id: string;
    type: string;
    required: string[];
    properties: {
        userSubstore: {
            type: string;
            fieldNumber: number;
            items: {
                type: string;
                required: string[];
                properties: {
                    address: {
                        dataType: string;
                        format: string;
                        fieldNumber: number;
                    };
                    tokenID: {
                        dataType: string;
                        fieldNumber: number;
                        minLength: number;
                        maxLength: number;
                    };
                    availableBalance: {
                        dataType: string;
                        fieldNumber: number;
                    };
                    lockedBalances: {
                        type: string;
                        fieldNumber: number;
                        items: {
                            type: string;
                            required: string[];
                            properties: {
                                module: {
                                    dataType: string;
                                    minLength: number;
                                    maxLength: number;
                                    fieldNumber: number;
                                };
                                amount: {
                                    dataType: string;
                                    fieldNumber: number;
                                };
                            };
                        };
                    };
                };
            };
        };
        supplySubstore: {
            type: string;
            fieldNumber: number;
            items: {
                type: string;
                required: string[];
                properties: {
                    tokenID: {
                        dataType: string;
                        fieldNumber: number;
                        minLength: number;
                        maxLength: number;
                    };
                    totalSupply: {
                        dataType: string;
                        fieldNumber: number;
                    };
                };
            };
        };
        escrowSubstore: {
            type: string;
            fieldNumber: number;
            items: {
                type: string;
                required: string[];
                properties: {
                    escrowChainID: {
                        dataType: string;
                        minLength: number;
                        maxLength: number;
                        fieldNumber: number;
                    };
                    tokenID: {
                        dataType: string;
                        fieldNumber: number;
                        minLength: number;
                        maxLength: number;
                    };
                    amount: {
                        dataType: string;
                        fieldNumber: number;
                    };
                };
            };
        };
        supportedTokensSubstore: {
            type: string;
            fieldNumber: number;
            items: {
                type: string;
                required: string[];
                properties: {
                    chainID: {
                        dataType: string;
                        fieldNumber: number;
                    };
                    supportedTokenIDs: {
                        type: string;
                        fieldNumber: number;
                        items: {
                            dataType: string;
                            minLength: number;
                            maxLength: number;
                        };
                    };
                };
            };
        };
    };
};
export declare const getBalanceRequestSchema: {
    $id: string;
    type: string;
    properties: {
        address: {
            type: string;
            format: string;
        };
        tokenID: {
            type: string;
            format: string;
            minLength: number;
            maxLength: number;
        };
    };
    required: string[];
};
export declare const getBalanceResponseSchema: {
    $id: string;
    type: string;
    required: string[];
    properties: {
        availableBalance: {
            type: string;
            format: string;
        };
        lockedBalances: {
            type: string;
            items: {
                type: string;
                required: string[];
                properties: {
                    module: {
                        type: string;
                    };
                    amount: {
                        type: string;
                        format: string;
                    };
                };
            };
        };
    };
};
export declare const getBalancesRequestSchema: {
    $id: string;
    type: string;
    properties: {
        address: {
            type: string;
            format: string;
        };
    };
    required: string[];
};
export declare const getBalancesResponseSchema: {
    $id: string;
    type: string;
    required: string[];
    properties: {
        balances: {
            type: string;
            items: {
                type: string;
                required: string[];
                properties: {
                    tokenID: {
                        type: string;
                        format: string;
                    };
                    availableBalance: {
                        type: string;
                        format: string;
                    };
                    lockedBalances: {
                        type: string;
                        items: {
                            type: string;
                            required: string[];
                            properties: {
                                module: {
                                    type: string;
                                };
                                amount: {
                                    type: string;
                                    format: string;
                                };
                            };
                        };
                    };
                };
            };
        };
    };
};
export declare const getTotalSupplyResponseSchema: {
    $id: string;
    type: string;
    properties: {
        totalSupply: {
            type: string;
            items: {
                type: string;
                required: string[];
                properties: {
                    tokenID: {
                        type: string;
                        format: string;
                    };
                    totalSupply: {
                        type: string;
                        format: string;
                    };
                };
            };
        };
    };
};
export declare const getSupportedTokensResponseSchema: {
    $id: string;
    type: string;
    properties: {
        tokenIDs: {
            type: string;
            items: {
                type: string;
                format: string;
            };
        };
    };
};
export declare const getEscrowedAmountsResponseSchema: {
    $id: string;
    type: string;
    properties: {
        escrowedAmounts: {
            type: string;
            items: {
                type: string;
                required: string[];
                properties: {
                    escrowChainID: {
                        type: string;
                        format: string;
                    };
                    tokenID: {
                        type: string;
                        format: string;
                    };
                    amount: {
                        type: string;
                        format: string;
                    };
                };
            };
        };
    };
};
export declare const isSupportedRequestSchema: {
    $id: string;
    type: string;
    properties: {
        tokenID: {
            type: string;
            format: string;
            minLength: number;
            maxLength: number;
        };
    };
    required: string[];
};
export declare const isSupportedResponseSchema: {
    $id: string;
    type: string;
    properties: {
        supported: {
            dataType: string;
        };
    };
    required: string[];
};
export declare const getInitializationFeesResponseSchema: {
    $id: string;
    type: string;
    properties: {
        userAccount: {
            type: string;
            format: string;
        };
        escrowAccount: {
            type: string;
            format: string;
        };
    };
    required: string[];
};
export declare const hasUserAccountRequestSchema: {
    $id: string;
    type: string;
    properties: {
        address: {
            type: string;
            format: string;
        };
        tokenID: {
            type: string;
            format: string;
            minLength: number;
            maxLength: number;
        };
    };
    required: string[];
};
export declare const hasEscrowAccountRequestSchema: {
    $id: string;
    type: string;
    properties: {
        tokenID: {
            type: string;
            format: string;
            minLength: number;
            maxLength: number;
        };
        escrowChainID: {
            type: string;
            format: string;
        };
    };
    required: string[];
};
export declare const hasUserAccountResponseSchema: {
    $id: string;
    type: string;
    properties: {
        exists: {
            type: string;
        };
    };
};
export declare const hasEscrowAccountResponseSchema: {
    $id: string;
    type: string;
    properties: {
        exists: {
            type: string;
        };
    };
};
