import React from 'react';
import { User } from '../../types/auth';
export declare const cookieName = "nextauth.token";
interface KeycloakAuthProviderProps {
    /** URL do servidor Keycloak */
    url: string;
    /** Realm do Keycloak */
    realm: string;
    /** Client ID registrado no Keycloak */
    clientId: string;
    /** Componentes filhos */
    children: React.ReactNode;
    /** Tipo de autenticação */
    type?: 'govbr' | 'ad';
    /** Nome do recurso para extrair roles */
    resource_name?: string;
    /** Base path da aplicação (ex: '/revidf'). Deixe vazio ou '/' para raiz */
    basePath?: string;
    /** URL de redirecionamento após login */
    redirectUri?: string;
    /** Callback executado quando autenticação é bem-sucedida */
    onAuthSuccess?: (user: User) => void;
    /** Callback executado quando autenticação falha */
    onAuthError?: (error: Error) => void;
    /** Callback executado quando logout é concluído com sucesso (após o redirect de volta) */
    onLogoutSuccess?: () => void;
    /** Habilita logs de debug (apenas em desenvolvimento) */
    enableDebugLogs?: boolean;
}
/**
 * Provider de autenticação Keycloak
 *
 * Gerencia todo o fluxo de autenticação incluindo:
 * - Inicialização e verificação de SSO
 * - Renovação automática de tokens
 * - Login e logout com callbacks personalizáveis
 * - Verificação de roles
 */
export declare function KeycloakAuthProvider({ url, realm, clientId, children, type, resource_name, basePath, redirectUri, onAuthSuccess, onAuthError, onLogoutSuccess, enableDebugLogs, }: KeycloakAuthProviderProps): JSX.Element;
export {};
