/**
 * External sources for brand voice analysis — SSRF-safe URL fetch and pasted uploads.
 */
import type { BrandVoiceSample } from './brand-voice-analyze.js';
export declare const MAX_ANALYZE_URLS = 5;
export declare const MAX_ANALYZE_UPLOADS = 5;
export declare const MAX_UPLOAD_TEXT_CHARS = 15000;
export declare const MAX_URL_FETCH_CHARS = 8000;
export declare const MAX_URL_FETCH_BYTES: number;
export declare class BrandVoiceSourceError extends Error {
    constructor(message: string);
}
/** Fetch and extract readable text from a public URL (SSRF-safe, no redirects). */
export declare function fetchBrandVoiceUrlSample(url: string): Promise<BrandVoiceSample>;
export declare function uploadToBrandVoiceSample(name: string, text: string): BrandVoiceSample;
//# sourceMappingURL=brand-voice-sources.d.ts.map