import { CookieService } from './cookie.service';
import * as i0 from "@angular/core";
export interface SeniorTokenData {
    locale?: string;
    userId?: string;
    userName?: string;
    access_token?: string;
    expires_in?: number;
    refresh_token?: string;
    token_type?: string;
    refresh_expires_in?: number;
    username?: string;
    email?: string;
    fullName?: string;
    tenantName?: string;
    type?: string;
    [key: string]: any;
}
/**
 * Serviço para gerenciar o token Senior e extrair informações específicas
 * para o sistema de traduções.
 *
 * Nota: Este serviço foca especificamente na extração do locale e informações
 * básicas do usuário. Para funcionalidades completas de autenticação,
 * use o AuthService que tem uma interface mais robusta.
 */
export declare class SeniorTokenService {
    private cookieService;
    private readonly SENIOR_TOKEN_COOKIE;
    constructor(cookieService: CookieService);
    /**
     * Obtém o token Senior completo do cookie
     */
    getSeniorToken(): string | null;
    /**
     * Decodifica e obtém os dados do token Senior
     */
    getSeniorTokenData(): SeniorTokenData | null;
    /**
     * Obtém o locale do usuário do token Senior
     */
    getUserLocale(): string | null;
    /**
     * Obtém informações do usuário do token Senior
     */
    getUserInfo(): {
        userId?: string;
        userName?: string;
        locale?: string;
        email?: string;
        fullName?: string;
    } | null;
    /**
     * Verifica se o usuário está logado (token existe e é válido)
     */
    isUserLoggedIn(): boolean;
    /**
     * Monitora mudanças no cookie do token (para detectar login/logout)
     */
    watchTokenChanges(callback: (tokenData: SeniorTokenData | null) => void): void;
    /**
     * Valida se o token tem a estrutura esperada do Senior
     */
    validateTokenStructure(): {
        isValid: boolean;
        issues: string[];
    };
    static ɵfac: i0.ɵɵFactoryDeclaration<SeniorTokenService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<SeniorTokenService>;
}
