import { WordPressClient } from '../utils/WordPressClient';
import { ICta } from '../interfaces/WordPressInterfaces';
import { SeoService } from './SeoService';
/**
 * Opções para a consulta de CTAs
 */
export interface ICtaQueryOptions {
    /**
     * Tratar como erro se o plugin não estiver disponível
     * Default: false
     */
    requirePlugin?: boolean;
}
/**
 * Serviço para gerenciamento de CTAs do WordPress
 */
export declare class CtaService {
    private client;
    private seoService;
    private pluginEndpoint;
    /**
     * Construtor do serviço
     * @param client Cliente WordPress
     * @param seoService Serviço SEO (opcional, será criado se não fornecido)
     */
    constructor(client: WordPressClient, seoService?: SeoService);
    /**
     * Obtém o CTA de um post específico
     * @param postId ID do post
     * @param options Opções da consulta
     * @returns Objeto CTA ou null se não existir
     */
    getPostCta(postId: number, options?: ICtaQueryOptions): Promise<ICta | null>;
    /**
     * Atualiza o CTA de um post específico
     * @param postId ID do post
     * @param cta CTA para atualizar
     * @returns CTA atualizado
     */
    updatePostCta(postId: number, cta: ICta): Promise<ICta | null>;
    /**
     * Adiciona um CTA a um post
     * @param postId ID do post
     * @param cta CTA para adicionar
     * @returns CTA adicionado
     */
    private addPostCta;
    /**
     * Remove o CTA de um post
     * @param postId ID do post
     * @returns true se removido com sucesso
     */
    removePostCta(postId: number): Promise<boolean>;
    /**
     * Formata os dados de CTA do plugin
     * @param cta Dados de CTA da API
     * @returns CTA formatado
     */
    private formatCta;
}
