/// <reference types="node" />
import { PrivateKey } from '@hashgraph/sdk';
import { proto } from '../../../resources/hbar/protobuf/hedera';
/**
 * Returns whether or not the string is a valid Hedera account.
 *
 * In any form, `shard` and `realm` are assumed to be 0 if not provided.
 *
 * @param {string} address - the address to be validated
 * @returns {boolean} - the validation result
 */
export declare function isValidAddress(address: string): boolean;
/**
 * Returns whether or not the string is a valid Hedera transaction id or not.
 *
 * @param {string} txId - the transaction id to be validated
 * @returns {boolean} - the validation result
 */
export declare function isValidTransactionId(txId: string): boolean;
/**
 * Returns whether or not the string is a valid Hedera public key
 *
 * @param {string} key - the  public key to be validated
 * @returns {boolean} - the validation result
 */
export declare function isValidPublicKey(key: string): boolean;
/**
 * Returns an hex string of the given buffer
 *
 * @param {Buffer | Uint8Array} buffer - the buffer to be converted to hex
 * @returns {string} - the hex value
 */
export declare function toHex(buffer: Buffer | Uint8Array): string;
/**
 * Returns a Uint8Array of the given hex string
 *
 * @param {string} str - the hex string to be converted
 * @returns {string} - the Uint8Array value
 */
export declare function toUint8Array(str: string): Uint8Array;
/**
 * Checks whether nodeJS.process exist and if a node version is defined to determine if this is an nodeJS environment
 *
 * @returns {boolean} - the validation result
 */
export declare function isNodeEnvironment(): boolean;
/**
 * Calculate the current time with nanoseconds precision
 *
 * @returns {string} the current time in seconds
 */
export declare function getCurrentTime(): string;
/**
 * Returns whether or not the string is a valid timestamp. Nanoseconds are optional and can be passed after a dot, for
 * example: 1595374723.356981689
 *
 * @param {string} time - the timestamp to be validated
 * @returns {boolean} the validation result
 */
export declare function isValidTimeString(time: string): boolean;
/**
 * Returns whether or not the string is a valid amount number
 *
 * @param {string} amount - the string to validate
 * @returns {boolean} - the validation result
 */
export declare function isValidAmount(amount: string): boolean;
/**
 * Returns whether the provided raw transaction accommodates to bitgo's preferred format
 *
 * @param {any} rawTransaction - The raw transaction to be checked
 * @returns {boolean} the validation result
 */
export declare function isValidRawTransactionFormat(rawTransaction: any): boolean;
/**
 * Returns a string representation of an {proto.IAccountID} object
 *
 * @param {proto.IAccountID} - account id to be cast to string
 * @returns {string} - the string representation of the {proto.IAccountID}
 */
export declare function stringifyAccountId({ shardNum, realmNum, accountNum }: proto.IAccountID): string;
/**
 * Returns a string representation of an {proto.ITimestamp} object
 *
 * @param {proto.ITimestamp} - timestamp to be cast to string
 * @returns {string} - the string representation of the {proto.ITimestamp}
 */
export declare function stringifyTxTime({ seconds, nanos }: proto.ITimestamp): string;
/**
 * Remove the specified prefix from a string only if it starts with that prefix
 *
 * @param {string} prefix The prefix to be removed
 * @param {string} key The original string, usually a private or public key
 * @returns {string} The string without prefix
 */
export declare function removePrefix(prefix: string, key: string): string;
/**
 * Check if this is a valid memo or not.
 *
 * @param memo
 */
export declare function isValidMemo(memo: string): boolean;
/**
 * Uses the native hashgraph SDK function to get a raw key.
 *
 * @param prv
 */
export declare function createRawKey(prv: string): PrivateKey;
/**
 * Converts an stellar public key to a ed25519 hex format.
 *
 * @param stellarPub
 * @param prv
 */
export declare function convertFromStellarPub(stellarPub: string): string;
//# sourceMappingURL=utils.d.ts.map