import type { AgentRuntimeExecutionResult, AgentRuntimeInvocationMeta, ServerAgentRuntimeModule } from "@rudderhq/agent-runtime-utils";
import type { Db } from "@rudderhq/db";
import type { OrganizationIntelligenceProfile, OrganizationIntelligenceProfilePurpose } from "@rudderhq/shared";
export interface ProductIntelligenceExecuteInput {
    orgId: string;
    purpose: OrganizationIntelligenceProfilePurpose;
    feature: string;
    prompt: string;
    context?: Record<string, unknown>;
    onLog?: (stream: "stdout" | "stderr", chunk: string) => Promise<void>;
    onMeta?: (meta: AgentRuntimeInvocationMeta) => Promise<void>;
    abortSignal?: AbortSignal;
}
interface ExecuteResolvedProductIntelligenceInput extends ProductIntelligenceExecuteInput {
    profile: OrganizationIntelligenceProfile;
    config: Record<string, unknown>;
    secretKeys?: Set<string>;
    adapter: ServerAgentRuntimeModule;
    resolveAdapter?: (agentRuntimeType: string) => ServerAgentRuntimeModule | null;
    runId?: string;
    workspaceCwd?: string;
}
export declare function executeResolvedProductIntelligenceProfile(input: ExecuteResolvedProductIntelligenceInput): Promise<AgentRuntimeExecutionResult>;
export declare function productIntelligenceService(db: Db): {
    execute: (input: ProductIntelligenceExecuteInput) => Promise<AgentRuntimeExecutionResult>;
};
export {};
//# sourceMappingURL=product-intelligence.d.ts.map