/** Gerar uma classe que facilita a gestão de rotas com a tipagem das querys * * Definições: * * caminho = "/aplicacao/funcionalidade" * * endereco = "http://localhost:3000/aplicacao/funcionalidade" * * parametros = {nome:"José"} */ export declare class TipagemRotas { _partesCaminho: string[]; _acaoIr?: undefined | ((endereco: string) => undefined); /** Ao criar novo obijeto de tipagem de rota é necessário passar o caminho parcial ** export const mCaminho = new TipagemRotas<{q:string}>("aplicacao","funcionalidade") */ constructor({ caminhos, acaoIr, }: { caminhos: string[] | string; acaoIr: (endereco: string) => undefined; }); /** Retorna o caminho completo da rota ** console.log(mCaminho.caminho) ** "/caminho" */ get caminho(): string; /** Define o caminho completo da rota ** mCaminho.caminho = "/novoCaminho" ** console.log(mCaminho.caminho) ** "/novoCaminho" ** */ set caminho(caminhoParcial: string); /** Retorna o caminho completo da rota com a query ** console.log(mCaminho.resolve({q:"query"})) ** "http://localhost:3000/caminho?q=query" */ endereco(query: T, usarComoHash?: boolean): string; /** Vai para a url ** mCaminho.ir({q:"query"}) ** window.location.href = "http://localhost:3000/caminho?q=query" */ ir(query: T): void; /** Retorna os parametros da url ** console.log(mCaminho.parametros()) ** {q:"query"} */ get parametros(): Partial; }