import type { KnowledgeStore } from './store.js';
import { type KnowledgeSpaceScopeInput } from './spaces.js';
import type { KnowledgePacket, KnowledgePacketDetail, KnowledgeSearchResult, KnowledgeUsageRecord } from './types.js';
import type { RuntimeEventBus } from '../runtime/events/index.js';
export interface KnowledgePacketContext {
    readonly store: KnowledgeStore;
    readonly deferUsage: (input: {
        readonly targetKind: KnowledgeUsageRecord['targetKind'];
        readonly targetId: string;
        readonly usageKind: KnowledgeUsageRecord['usageKind'];
        readonly task?: string | undefined;
        readonly sessionId?: string | undefined;
        readonly score?: number | undefined;
        readonly metadata?: Record<string, unknown> | undefined;
    }) => void;
    readonly emitIfReady: (fn: (bus: RuntimeEventBus, ctx: {
        readonly traceId: string;
        readonly sessionId: string;
        readonly source: string;
    }) => void, sessionId?: string) => void;
}
export declare function searchKnowledge(context: KnowledgePacketContext, query: string, limit?: number, scope?: KnowledgeSpaceScopeInput): KnowledgeSearchResult[];
export declare function buildKnowledgePacket(context: KnowledgePacketContext, task: string, writeScope?: readonly string[], limit?: number, options?: {
    readonly detail?: KnowledgePacketDetail;
    readonly budgetLimit?: number;
} & KnowledgeSpaceScopeInput): Promise<KnowledgePacket>;
export declare function buildKnowledgePacketSync(context: KnowledgePacketContext, task: string, writeScope?: readonly string[], limit?: number, options?: {
    readonly detail?: KnowledgePacketDetail;
    readonly budgetLimit?: number;
} & KnowledgeSpaceScopeInput): KnowledgePacket | null;
export declare function buildKnowledgePromptPacketSync(context: KnowledgePacketContext, task: string, writeScope?: readonly string[], limit?: number, options?: {
    readonly detail?: KnowledgePacketDetail;
    readonly budgetLimit?: number;
} & KnowledgeSpaceScopeInput): string | null;
export declare function buildKnowledgePromptPacket(context: KnowledgePacketContext, task: string, writeScope?: readonly string[], limit?: number, options?: {
    readonly detail?: KnowledgePacketDetail;
    readonly budgetLimit?: number;
} & KnowledgeSpaceScopeInput): Promise<string | null>;
//# sourceMappingURL=packet.d.ts.map