import type { KnowledgeBatchIngestResult, KnowledgeIssueRecord, KnowledgeJobMode, KnowledgeJobRecord, KnowledgeMaterializedProjection, KnowledgeStatus } from './types.js';
import type { BrowserKnowledgeProfile } from './browser-history/index.js';
import type { KnowledgeSemanticService } from './semantic/index.js';
export interface KnowledgeServiceJobRunnerContext {
    readonly lint: () => Promise<readonly KnowledgeIssueRecord[]>;
    readonly reindex: () => Promise<{
        readonly status: KnowledgeStatus;
        readonly issues: readonly KnowledgeIssueRecord[];
    }>;
    readonly refreshSources: (kind: 'stale' | 'bookmark', sourceIds?: readonly string[], limit?: number | undefined) => Promise<number>;
    readonly syncBrowserHistory: (input: {
        readonly limit?: number | undefined;
    }) => Promise<KnowledgeBatchIngestResult & {
        readonly profiles: readonly BrowserKnowledgeProfile[];
    }>;
    readonly materializeProjection: (input: {
        readonly kind: 'overview' | 'bundle';
        readonly limit: number;
    }) => Promise<KnowledgeMaterializedProjection>;
    readonly semanticService: KnowledgeSemanticService;
    readonly runConsolidation: (kind: 'light-consolidation' | 'deep-consolidation', input: {
        readonly limit?: number | undefined;
        readonly autoPromote: boolean;
    }) => Promise<{
        readonly id: string;
        readonly metrics: Record<string, number>;
    }>;
}
export declare function runKnowledgeServiceJobByKind(kind: KnowledgeJobRecord['kind'], input: {
    readonly mode?: KnowledgeJobMode | undefined;
    readonly sourceIds?: readonly string[] | undefined;
    readonly limit?: number | undefined;
}, context: KnowledgeServiceJobRunnerContext): Promise<Record<string, unknown>>;
//# sourceMappingURL=service-jobs.d.ts.map