///
import { EncodingType } from "../types";
/**
* assert if string contains digits only
* "123" // ok. "12+2" // error.
* @param val : string
*/
export declare function assertOnlyDigits(val: string, line: number): void;
/**
* assert that a line has given number of words
* @param val Comparsion result
* @param expected expected result
* @param line Line number in TEAL file
*/
export declare function assertLen(val: number, expected: number, line: number): void;
/**
* Checks if string is base64
* @param str : string that needs to be checked
* @param line : line number in TEAL file
*/
export declare function assertBase64(str: string, line: number): void;
/**
* Checks if string is base32
* @param str : string that needs to be checked
* @param line : line number in TEAL file
*/
export declare function assertBase32(str: string, line: number): void;
/**
* returns key as bytes
* @param key : key in a stateful key-value pair
*/
export declare function keyToBytes(key: Uint8Array | string): Uint8Array;
export declare function stringToBytes(s: string): Uint8Array;
export declare function convertToString(u: Uint8Array | Buffer): string;
/**
* Description : converts string into buffer as per encoding type
* @param s : string to be converted
* @param encoding : encoding type
*/
export declare function convertToBuffer(s: string, encoding?: EncodingType): Buffer;
/**
* Converts 64 bit unsigned integer to bytes in big endian.
*/
export declare function uint64ToBigEndian(x: number | bigint): Uint8Array;
/**
* Takes an Algorand address in string form and decodes it into a Uint8Array (as public key)
* @param addr : algorand address
*/
export declare function addressToPk(addr: string): Uint8Array;
/**
* Parses appArgs to bytes if arguments passed to SSC are similar to goal ('int:1', 'str:hello'..)
* https://developer.algorand.org/docs/features/asc1/stateful/#passing-arguments-to-stateful-smart-contracts
* eg. "int:1" => new Uint8Aarray([0, 0, 0, 0, 0, 0, 0, 1])
* NOTE: parseSSCAppArgs returns undefined to handle the case when application args passed to
* stateful smart contract is undefined
* @param appArgs : arguments to stateful smart contract
*/
export declare function parseSSCAppArgs(appArgs?: Array): Uint8Array[] | undefined;
/**
* returns encodingtype (base32, base64, utf8, hex) and the encoded string from words list
* eg. base64 "dfc/==" => returns [dfc/==, EncodingType.BASE64]
* 0xadkjka => returns [adkjka, EncodingType.HEX] (removing 0x)
* "hello" => returns [hello, EncodingType.UTF8] (removing quotes "")
* @param args : words list for base64 and base32
* @param line line number
*/
export declare function getEncoding(args: string[], line: number): [string, EncodingType];