import type { Platform, TrendsCollectionResult } from "./schema.js";
import type { Source } from "./sources/types.js";
export interface PipelineDeps {
    getSource: (p: Platform) => Source;
    runCli: (prompt: string) => Promise<string>;
    downloadCover: (url: string, dir: string, id: string) => Promise<string | null>;
    coversDir: (platform: string) => string;
    maxRetries?: number;
    limit?: number;
    /**
     * S14 — the user's content interests (config.interests). When present the
     * validated items are reordered by fit-to-channel before they're written to
     * disk, so the on-disk YAML is already ranked for THIS user's niche. Absent /
     * empty → no reordering (degrades to the agent's heat-implied order).
     */
    interests?: string[];
}
export declare function collectPlatform(platform: Platform, deps: PipelineDeps): Promise<TrendsCollectionResult>;
export declare const defaultPipelineDeps: (runCli: (p: string) => Promise<string>, interests?: string[]) => PipelineDeps;
//# sourceMappingURL=pipeline.d.ts.map