import ScrappedParte from "../data-structures/ScrappedParte";
import { tiposParte } from "../utils";
import PartesScrapper, { PartesReturn } from "./PartesScrapper";
export type ContactInfo = {
    address: string;
    email: string;
    phone: string;
};
export type CpfCnpjInfo = {
    dontHaveCpfCnpj: boolean;
    noCpfCnpjReason: string;
    cpf: string;
    cnpj: string;
};
export default class ProjudiTjbaPartesScrapper extends PartesScrapper {
    protected macroContainer: Document | HTMLElement;
    protected poloAtivoWrapperTd: HTMLElement;
    protected poloPassivoWrapperTd: HTMLElement;
    protected testemunhasWrapperTd: HTMLElement;
    protected terceirosWrapperTd: HTMLElement;
    constructor(macroContainer: Document | HTMLElement);
    fetchParticipantesInfo(): PartesReturn | undefined;
    protected loadPageCheckpoints(): void;
    protected getPartes(): PartesReturn;
    protected getCompletePolo(poloWrapperTd: HTMLElement, tipoDeParte: tiposParte): ScrappedParte[];
    protected getParte(poloWrapperTd: HTMLElement, tr: HTMLElement, tipoDeParte: tiposParte): ScrappedParte;
    protected getCpfCnpjFromString(cpfCnpj: string): CpfCnpjInfo;
    protected getParteContatos(poloWrapperTd: HTMLElement, parteJudSystemId: string): ContactInfo;
    protected parseContactInfo(contactInfo: string): ContactInfo;
    protected getEmail(str: string): string;
    protected getPhoneWithTag(str: string): string;
    protected getParteAdvogados(partesWrapperTd: HTMLElement, parteJudSystemId: string): ScrappedParte[];
}
