export interface UseZendeskConfig {
    /** Chave do canal Zendesk (snippet). */
    zendeskKey: string;
    /**
     * Carrega o messenger apenas quando `true` (ex.: suporte é ZENDESK).
     * Default: `true`.
     */
    enabled?: boolean;
}
export interface UseZendeskReturn {
    /** `true` quando o messenger (`window.zE`) está disponível para abrir. */
    ready: boolean;
    /** Abre o messenger do Zendesk. No-op enquanto não estiver pronto. */
    openChat: () => void;
}
/**
 * Carrega o messenger do Zendesk de forma resiliente e isolada:
 * - injeta o snippet uma única vez (dedupe por id);
 * - se o script falhar (rede), re-injeta com backoff exponencial até carregar;
 * - sinaliza `ready` assim que `window.zE` fica disponível;
 * - `openChat` abre o messenger (no-op enquanto não estiver pronto).
 *
 * O loop de carregamento fica confinado a este hook — não bloqueia o restante
 * da página (form de login, Google, etc. funcionam independentemente).
 */
export declare const useZendesk: ({ zendeskKey, enabled, }: UseZendeskConfig) => UseZendeskReturn;
//# sourceMappingURL=useZendesk.d.ts.map