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<number>} 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<number>;
/**
 *
 * @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>;
/**
 *
 * @param {InterpretadorInterface} interpretador A instância do interpretador.
 * @param numero
 * @returns
 */
export declare function inteiro(interpretador: InterpretadorInterface, numero: VariavelInterface | any): Promise<number>;
/**
 *
 * @param interpretador
 * @param vetor
 * @param funcaoMapeamento
 * @returns
 */
export declare function mapear(interpretador: InterpretadorInterface, vetor: VariavelInterface | any, funcaoMapeamento: 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 padrao
 * @returns
 */
export declare function reduzir(interpretador: InterpretadorInterface, vetor: VariavelInterface | any, funcaoReducao: VariavelInterface | any, padrao?: VariavelInterface | any): Promise<any>;
/**
 *
 * @param objeto
 * @returns
 */
export declare function tamanho(interpretador: InterpretadorInterface, objeto: any): Promise<any>;
/**
 *
 * @param interpretador
 * @param valorOuVariavel
 * @returns
 */
export declare function texto(interpretador: InterpretadorInterface, valorOuVariavel: VariavelInterface | any): Promise<string>;
/**
 *
 * @param interpretador
 * @param vetor
 * @param funcaoCondicional
 * @returns
 */
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 interpretador
 * @param vetor
 * @returns
 */
export declare function tupla(interpretador: InterpretadorInterface, vetor: VariavelInterface | any[]): Promise<Tupla>;
//# sourceMappingURL=biblioteca-global.d.ts.map