/** * @docsPrivate * * Helper com funcoes puras de matematica e layout para o infinity scroll * do po-timer. Nenhuma dessas funcoes acessa estado do componente — recebem * e devolvem apenas valores, facilitando testes unitarios isolados. */ export declare class PoTimerScrollHelper { /** * Normaliza o offset para o intervalo [sectionHeight, 2 * sectionHeight). * * Matematica: * mod = ((offset - sH) % sH + sH) % sH → resultado em [0, sH) * retorno = mod + sH → resultado em [sH, 2*sH) * * Funciona para qualquer valor de offset (positivo, negativo, multiplos). */ static wrapOffset(offset: number, sectionHeight: number): number; /** * Calcula o passo (em px) por item, incluindo o gap entre itens. * * Para N itens num flex-column com altura H, gap G e padding P: * scrollHeight = N*H + (N-1)*G + 2*P * passo = H + G = (scrollHeight - 2*P + G) / N */ static getCellStep(itemsEl: HTMLElement, displayCount: number): number; /** * Calcula o indice no displayArray do item visivel no topo a partir do offset. * Usa Math.round para snap ao item mais proximo. */ static computeTopDisplayIndex(offset: number, step: number, displayLength: number): number; /** * Repete o array fonte o numero necessario de vezes para manter * o infinity scroll com pelo menos INFINITY_SCROLL_MIN_ITEMS itens. * * Quando o array fonte tem menos de 6 itens, retorna uma copia simples * (sem repeticao), pois o infinity scroll nao e utilizado. */ static repeatArray(source: Array): Array; }