import { VariavelInterface } from '../interfaces';
import { InterpretadorInterface } from '../interfaces';
import { Tupla, TuplaN } from '../construtos';
/**
 * Retorna um número aleatório entre 0 e 1.
 * @returns {Promise<number>} Número real.
 */
export declare function aleatorio(interpretador: InterpretadorInterface): Promise<number>;
/**
 * Retorna um número aleatório de acordo com o parâmetro passado.
 * Mínimo(inclusivo) - Máximo(exclusivo).
 * @param {number} minimo O número mínimo.
 * @param {number} maximo O número máximo.
 * @returns {Promise<number>} Um número real entre os valores máximo e mínimo especificados.
 */
export declare function aleatorioEntre(interpretador: InterpretadorInterface, minimo: VariavelInterface | number, maximo: VariavelInterface | number): Promise<number>;
/**
 * Verifica se algum dos elementos satisfaz à condição para por parâmetro.
 * @param {InterpretadorInterface} interpretador A instância do interpretador.
 * @param {VariavelInterface | any} vetor Uma variável de Delégua ou um vetor nativo de JavaScript.
 * @param {VariavelInterface | any} funcaoPesquisa A função que ensina o método de pesquisa.
 * @returns {Promise<boolean>} Verdadeiro se há algum elemento no vetor com a condição. Falso caso contrário.
 */
export declare function algum(interpretador: InterpretadorInterface, vetor: VariavelInterface | any, funcaoPesquisa: VariavelInterface | any): Promise<boolean>;
/**
 * Arredonda um número para uma quantidade específica de casas decimais.
 * @param {InterpretadorInterface} interpretador A instância do interpretador.
 * @param {any} numero O número a ser arredondado.
 * @param {any} casasDecimais A quantidade de casas decimais para o arredondamento.
 * @returns {Promise<number>} O número arredondado.
 */
export declare function arredondar(interpretador: InterpretadorInterface, numero: any, casasDecimais: any): Promise<number>;
/**
 * Clona profundamente uma variável ou constante em Delégua.
 * @param {InterpretadorInterface} interpretador A instância do interpretador.
 * @param {VariavelInterface | any} valor O valor a ser clonado.
 * @returns {Promise<any>} Uma cópia profunda do valor fornecido.
 */
export declare function clonar(interpretador: InterpretadorInterface, valor: VariavelInterface | any): Promise<any>;
/**
 * Encontra o primeiro elemento de um vetor cuja função de pesquisa retorne
 * verdadeiro na avaliação de cada elemento.
 * @param {InterpretadorInterface} interpretador A instância do interpretador.
 * @param {VariavelInterface | any} vetor Uma variável de Delégua ou um vetor nativo de JavaScript.
 * @param {VariavelInterface | any} funcaoPesquisa A função que ensina o método de pesquisa.
 * @returns {Promise<any>} Um elemento, caso o elemento seja encontraro, ou nulo em caso contrário.
 */
export declare function encontrar(interpretador: InterpretadorInterface, vetor: VariavelInterface | any, funcaoPesquisa: VariavelInterface | any): Promise<any>;
/**
 * Encontra o índice do primeiro elemento de um vetor cuja função de pesquisa retorne
 * verdadeiro na avaliação de cada elemento.
 * @param {InterpretadorInterface} interpretador A instância do interpretador.
 * @param {VariavelInterface | any} vetor Uma variável de Delégua ou um vetor nativo de JavaScript.
 * @param {VariavelInterface | any} funcaoPesquisa A função que ensina o método de pesquisa.
 * @returns {Promise<number>} O número correspondente ao índice se o elemento for encontrado, ou nulo em caso contrário.
 */
export declare function encontrarIndice(interpretador: InterpretadorInterface, vetor: VariavelInterface | any, funcaoPesquisa: VariavelInterface | any): Promise<number>;
/**
 * Encontrar o último elemento de um vetor cuja função de pesquisa retorne
 * verdadeiro na avaliação de cada elemento.
 * @param {InterpretadorInterface} interpretador A instância do interpretador.
 * @param {VariavelInterface | any} vetor Uma variável de Delégua ou um vetor nativo de JavaScript.
 * @param {VariavelInterface | any} funcaoPesquisa A função que ensina o método de pesquisa.
 * @returns {Promise<any>} O número correspondente ao índice se o elemento for encontrado, ou nulo em caso contrário.
 */
export declare function encontrarUltimo(interpretador: InterpretadorInterface, vetor: VariavelInterface | any, funcaoPesquisa: VariavelInterface | any): Promise<any>;
/**
 *
 * @param {InterpretadorInterface} interpretador A instância do interpretador.
 * @param {VariavelInterface | any} vetor Uma variável de Delégua ou um vetor nativo de JavaScript.
 * @param {VariavelInterface | any} funcaoPesquisa A função que ensina o método de pesquisa.
 * @returns {Promise<number>} O número correspondente ao índice se o elemento for encontrado, ou nulo em caso contrário.
 */
export declare function encontrarUltimoIndice(interpretador: InterpretadorInterface, vetor: VariavelInterface | any, funcaoPesquisa: VariavelInterface | any): Promise<number>;
/**
 *
 * @param interpretador
 * @param vetor
 * @param funcaoFiltragem
 * @returns
 */
export declare function filtrarPor(interpretador: InterpretadorInterface, vetor: VariavelInterface | any, funcaoFiltragem: VariavelInterface | any): Promise<any[]>;
/**
 *
 * @param {InterpretadorInterface} interpretador A instância do interpretador.
 * @param {VariavelInterface | any} vetor Uma variável de Delégua ou um vetor nativo de JavaScript.
 * @param valor
 * @returns
 */
export declare function incluido(interpretador: InterpretadorInterface, vetor: VariavelInterface | any, valor: VariavelInterface | any): Promise<boolean>;
/**
 * Converte um valor em um número inteiro.
 * @param {InterpretadorInterface} interpretador A instância do interpretador.
 * @param {VariavelInterface | any} valorParaConverter O valor a ser convertido.
 * @returns {Promise<any>} Uma Promise com o resultado da conversão.
 */
export declare function inteiro(interpretador: InterpretadorInterface, valorParaConverter: VariavelInterface | any): Promise<any>;
/**
 * Converte um valor em um número longo (BigInt).
 * @param {InterpretadorInterface} interpretador A instância do interpretador.
 * @param {VariavelInterface | any} valorParaConverter O valor a ser convertido.
 * @returns {Promise<any>} Uma Promise com o resultado da conversão para BigInt.
 */
export declare function longo(interpretador: InterpretadorInterface, valorParaConverter: VariavelInterface | any): Promise<any>;
/**
 * Cria um vetor com números inteiros no intervalo especificado.
 * O valor inicial é inclusivo e o valor final é exclusivo.
 * @param {InterpretadorInterface} interpretador A instância do interpretador.
 * @param {VariavelInterface | number} valorInicial O valor inicial (inclusivo).
 * @param {VariavelInterface | number} valorFinal O valor final (exclusivo).
 * @param {VariavelInterface | number} valorPasso O valor do passo.
 * @returns {Promise<number[]>} Um vetor com os números no intervalo.
 */
export declare function intervalo(interpretador: InterpretadorInterface, valorInicial: VariavelInterface | number, valorFinal?: VariavelInterface | number, valorPasso?: VariavelInterface | number): Promise<number[]>;
/**
 * Dado um vetor e uma função de mapeamento, executa a função de mapeamento
 * passando como argumento cada elemento do vetor.
 * @param interpretador A instância do interpretador.
 * @param vetor O vetor
 * @param funcaoMapeamento A função de mapeamento.
 * @returns O resultado acumulado da execução da função de mapeamento.
 */
export declare function mapear(interpretador: InterpretadorInterface, vetor: VariavelInterface | any, funcaoMapeamento: VariavelInterface | any): Promise<any[]>;
/**
 * Encontra o maior número dentro de um vetor.
 * @param {InterpretadorInterface} interpretador A instância do interpretador.
 * @param {VariavelInterface | any} vetor Uma variável de Delégua ou um vetor nativo de JavaScript contendo números.
 * @returns {Promise<number>} O maior número encontrado no vetor.
 */
export declare function maximo(interpretador: InterpretadorInterface, vetor: VariavelInterface | any): Promise<number>;
/**
 * Encontra o menor número dentro de um vetor.
 * @param {InterpretadorInterface} interpretador A instância do interpretador.
 * @param {VariavelInterface | any} vetor Uma variável de Delégua ou um vetor nativo de JavaScript contendo números.
 * @returns {Promise<number>} O menor número encontrado no vetor.
 */
export declare function minimo(interpretador: InterpretadorInterface, vetor: VariavelInterface | any): Promise<number>;
/**
 * Converte um valor em um número, com parte decimal ou não.
 * @param {InterpretadorInterface} interpretador A instância do interpretador.
 * @param {VariavelInterface | any} valorParaConverter O valor a ser convertido.
 * @returns {Promise<any>} Uma Promise com o resultado da conversão.
 */
export declare function numero(interpretador: InterpretadorInterface, valorParaConverter: VariavelInterface | any): Promise<any>;
/**
 *
 * @param vetor
 * @returns
 */
export declare function ordenar(interpretador: InterpretadorInterface, vetor: VariavelInterface | Array<any>): Promise<any[]>;
/**
 *
 * @param interpretador
 * @param vetor
 * @param funcaoFiltragem
 * @returns
 */
export declare function paraCada(interpretador: InterpretadorInterface, vetor: VariavelInterface | any, funcaoFiltragem: VariavelInterface | any): Promise<any>;
/**
 *
 * @param interpretador
 * @param vetor
 * @param funcaoFiltragem
 * @returns
 */
export declare function primeiroEmCondicao(interpretador: InterpretadorInterface, vetor: VariavelInterface | any, funcaoFiltragem: VariavelInterface | any): Promise<any>;
/**
 *
 * @param interpretador
 * @param numero
 * @returns
 */
export declare function real(interpretador: InterpretadorInterface, numero: VariavelInterface | any): Promise<number>;
/**
 *
 * @param interpretador
 * @param vetor
 * @param funcaoReducao
 * @param valorInicial
 * @returns
 */
export declare function reduzir(interpretador: InterpretadorInterface, vetor: VariavelInterface | any, funcaoReducao: VariavelInterface | any, valorInicial?: VariavelInterface | any): Promise<any>;
/**
 * Realiza a soma de todos os números dentro de um vetor.
 * @param {InterpretadorInterface} interpretador A instância do interpretador.
 * @param {VariavelInterface | any} vetor Uma variável de Pituguês ou um vetor nativo de JavaScript contendo números.
 * @returns {Promise<number>} A soma de todos os elementos do vetor.
 */
export declare function somar(interpretador: InterpretadorInterface, vetor: VariavelInterface | any): Promise<number>;
/**
 *
 * @param objeto
 * @returns
 */
export declare function tamanho(interpretador: InterpretadorInterface, objeto: any): Promise<any>;
/**
 * Transforma o valor ou variável em texto.
 * @param {InterpretadorInterface} interpretador A instância do interpretador.
 * @param {VariavelInterface | any} valorParaConverter O valor ou variável.
 * @returns {Promise<string>} O valor resolvido em texto.
 */
export declare function texto(interpretador: InterpretadorInterface, valorParaConverter: VariavelInterface | any): Promise<string>;
/**
 * Retorna verdadeiro se todos os elementos do iterável forem truly.
 * @param {InterpretadorInterface} interpretador A instância do interpretador.
 * @param {VariavelInterface | any} iteravel O primeiro parâmetro, qualquer dado que seja iterável (vetores, tuplas, dicionários etc.).
 * @returns {Promise<boolean>} Verdadeiro, se todos os valores do iterável forem Truly.
 */
export declare function todos(interpretador: InterpretadorInterface, iteravel: VariavelInterface | any): Promise<boolean>;
/**
 * Retorna verdadeiro se todos os elementos do primeiro parâmetro retornam verdadeiro ao
 * serem aplicados como argumentos da função passada como segundo parâmetro.
 * @param {InterpretadorInterface} interpretador A instância do interpretador.
 * @param {VariavelInterface | any} iteravel O primeiro parâmetro, qualquer dado que seja iterável (vetores, tuplas, dicionários etc.).
 * @param {VariavelInterface | any} funcaoCondicional A função que será executada com cada
 *                                  valor do iterável passado como primeiro parâmetro.
 * @returns {Promise<boolean>} Verdadeiro, se todos os valores do iterável fazem a função passada
 *                             por parâmetro devolver verdadeiro, ou falso em caso contrário.
 */
export declare function todosEmCondicao(interpretador: InterpretadorInterface, iteravel: VariavelInterface | any, funcaoCondicional: VariavelInterface | any): Promise<boolean>;
/**
 * Transforma um vetor de elementos em uma tupla de N elementos, sendo N a
 * largura do vetor.
 * @param {InterpretadorInterface} interpretador A instância do interpretador.
 * @param {VariavelInterface | any[]} vetor O vetor.
 * @returns A tupla resolvida.
 */
export declare function tupla(interpretador: InterpretadorInterface, vetor: VariavelInterface | any[]): Promise<TuplaN>;
export declare function vetor(interpretador: InterpretadorInterface, tupla: Tupla | TuplaN | any): Promise<any[]>;
//# sourceMappingURL=biblioteca-global.d.ts.map