import { type BrandAlignmentScoreResult } from '@actuate-media/cms-core/brand-voice';
import type { BrandVoiceEditMode, BrandVoiceForm } from './useAiSettings.js';
export interface BrandVoiceCollectionOption {
    slug: string;
    label: string;
}
export interface BrandVoiceAnalyzeFn {
    (input: {
        collections: string[];
        urls?: string[];
        uploads?: Array<{
            name: string;
            text: string;
        }>;
    }): Promise<{
        ok: boolean;
        draft?: Partial<BrandVoiceForm>;
        sampleCount?: number;
        error?: string;
    }>;
}
type BrandVoiceScoreInput = {
    content: string;
    channel?: string;
};
export interface BrandVoiceScoreFn {
    (input: BrandVoiceScoreInput): Promise<{
        ok: boolean;
        result?: BrandAlignmentScoreResult;
        error?: string;
    }>;
}
/**
 * Brand voice — a reusable description of how generated copy should sound. When
 * enabled, it is injected into the system prompt of content-generation features
 * (co-author, SEO titles/descriptions) so every AI surface writes on-brand.
 */
export interface BrandVoiceAiReadiness {
    ready: boolean;
    message?: string;
}
export declare function BrandVoiceCard({ value, canEdit, onChange, config, onAnalyze, onScore, editMode, onEditModeChange, aiReadiness, }: {
    value: BrandVoiceForm;
    canEdit: boolean;
    onChange: (patch: Partial<BrandVoiceForm>) => void;
    config?: unknown;
    onAnalyze?: BrandVoiceAnalyzeFn;
    onScore?: BrandVoiceScoreFn;
    editMode: BrandVoiceEditMode;
    onEditModeChange: (mode: BrandVoiceEditMode) => void;
    aiReadiness?: BrandVoiceAiReadiness;
}): import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=BrandVoiceCard.d.ts.map