import type { AppConfig } from '../config.js';
import type { SourceManager } from './source-manager.js';
import type { ProviderSource } from '../entry-helpers.js';
/** One active generic-webhook routing-key row (subset consumed here). */
export interface GenericRoutingKeyRow {
    routing_key: string;
    provider_type: string;
    name: string;
    has_git_config: boolean;
}
/**
 * Build the full provider-source list the orchestrator advertises to the
 * Platform: GitHub-app sources from the {@link SourceManager} plus every
 * *servable* generic-webhook source.
 *
 * Used both at boot and by the live republish closure (platform mode). It MUST
 * return the complete set every time — a live source change re-sends the whole
 * list via `platformClient.updateSources()`, which diffs against the previously
 * sent set; a partial list would make the Platform deregister the sources that
 * happened to be omitted.
 *
 * The generic-row loader is injected (rather than taking a `db`) so the merge
 * logic is unit-testable without a live database.
 */
export declare function buildPlatformProviderSources(sourceManager: Pick<SourceManager, 'getSources'>, loadGenericRows: () => Promise<GenericRoutingKeyRow[]>, config: AppConfig): Promise<ProviderSource[]>;
//# sourceMappingURL=build-platform-sources.d.ts.map