/**
 * DraftOutreachPostUseCase — spec 097, FR-33.
 *
 * v1: Discord-only. Produces a draft message about a release / monthly
 * recap / milestone. Pure: returns text without sending. Posting is
 * routed through `IOutreachPublisher` and gated by
 * `IContributorActionGate` upstream.
 *
 * Reddit / HN / X drafting is deferred to a v2 spec (resolved
 * product-question 4).
 */
import type { IAgentExecutorProvider } from '../../ports/output/agents/agent-executor-provider.interface.js';
/**
 * Outreach prompt category used to frame the generated Discord draft.
 */
export type OutreachDraftKind = 'release' | 'recap' | 'milestone';
/**
 * Input facts used to draft one outbound community announcement.
 */
export interface DraftOutreachPostInput {
    /** Drives prompt framing — release vs recap vs milestone. */
    kind: OutreachDraftKind;
    /** Headline, e.g. "v0.42.0" or "April 2026 contributor recap". */
    title: string;
    /** Optional structured highlights to ground the draft. */
    highlights?: readonly string[];
    /** Optional URL the post should link to. */
    link?: string;
}
/**
 * Pure draft payload for the supported outreach channel.
 */
export interface DraftOutreachPost {
    /** Delivery channel for v1 outreach drafts; currently Discord only. */
    channel: 'discord';
    /** Discord-flavored markdown body capped below Discord's 2000-character hard limit. */
    body: string;
}
export declare class DraftOutreachPostUseCase {
    private readonly agentProvider;
    constructor(agentProvider: IAgentExecutorProvider);
    execute(input: DraftOutreachPostInput): Promise<DraftOutreachPost>;
}
//# sourceMappingURL=draft-outreach-post.use-case.d.ts.map