/**
 * RempartPublisher ; routes article-shaped payloads to Rempart via MCP.
 *
 * The Rempart MCP exposes `publish_article` (title, content, slug, tags?).
 * This publisher does NOT instantiate an MCP client itself ; it takes an
 * `mcpCaller` in its constructor so callers can plug their own client
 * (Forge has a Rempart MCP wrapper ; Preste has its own). This keeps the
 * SDK transport-agnostic and avoids a new top-level dep.
 *
 * @public
 */
import type { PublisherPort, PublishInput, PublishResult } from "../../ports/publisher.js";
/**
 * Generic MCP caller signature ; takes a tool name + args, returns the tool
 * result as a JSON object. The caller is responsible for transport + auth.
 */
export type RempartMcpCaller = (tool: string, args: Record<string, unknown>) => Promise<Record<string, unknown>>;
export interface RempartPublisherConfig {
    /** Required ; MCP caller for the `rempart` server. */
    readonly mcpCaller: RempartMcpCaller;
}
export declare class RempartPublisher implements PublisherPort {
    readonly channel: "rempart";
    private readonly cfg;
    constructor(cfg: RempartPublisherConfig);
    isConfigured(): Promise<boolean>;
    publish(input: PublishInput): Promise<PublishResult>;
}
//# sourceMappingURL=rempart.d.ts.map