import { VariavelInterface } from '../interfaces';
import { InterpretadorInterface } from '../interfaces';
import { Tupla } 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>;
/**
 * 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>;
/**
 *
 * @param interpretador
 * @param vetor
 * @param funcaoMapeamento
 * @returns
 */
export declare function mapear(interpretador: InterpretadorInterface, vetor: VariavelInterface | any, funcaoMapeamento: VariavelInterface | any): Promise<any[]>;
/**
 * 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>;
/**
 *
 * @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 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} vetor O primeiro parâmetro, um vetor.
 * @param {VariavelInterface | any} funcaoCondicional A função que será executada com cada
 *                                  valor do vetor passado como primeiro parâmetro.
 * @returns {Promise<boolean>} Verdadeiro, se todos os valores do vetor fazem a função passada
 *                             por parâmetro devolver verdadeiro, ou falso em caso contrário.
 */
export declare function todosEmCondicao(interpretador: InterpretadorInterface, vetor: 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<Tupla>;
//# sourceMappingURL=biblioteca-global.d.ts.map