import type { Logger } from "pino";
import type { AgentManager } from "./agent-manager.js";
import { generateStructuredAgentResponseWithFallback } from "./agent-response-loop.js";
import { type StructuredGenerationDaemonConfig } from "./structured-generation-providers.js";
import type { WorkspaceGitService } from "../workspace-git-service.js";
import type { ProviderSnapshotManager } from "./provider-snapshot-manager.js";
export interface AgentMetadataGeneratorDeps {
    generateStructuredAgentResponseWithFallback?: typeof generateStructuredAgentResponseWithFallback;
}
export interface AgentMetadataGenerationOptions {
    agentManager: AgentManager;
    agentId: string;
    cwd: string;
    workspaceGitService?: Pick<WorkspaceGitService, "resolveRepoRoot">;
    providerSnapshotManager?: Pick<ProviderSnapshotManager, "listProviders">;
    daemonConfig?: StructuredGenerationDaemonConfig | null;
    currentSelection?: {
        provider?: string | null;
        model?: string | null;
        thinkingOptionId?: string | null;
    };
    initialPrompt?: string | null;
    explicitTitle?: string | null;
    paseoHome?: string;
    logger: Logger;
    deps?: AgentMetadataGeneratorDeps;
}
interface AgentMetadataNeeds {
    prompt: string | null;
    needsTitle: boolean;
}
export declare function determineAgentMetadataNeeds(options: Pick<AgentMetadataGenerationOptions, "initialPrompt" | "explicitTitle" | "cwd" | "paseoHome" | "deps">): Promise<AgentMetadataNeeds>;
export declare function generateAndApplyAgentMetadata(options: AgentMetadataGenerationOptions): Promise<void>;
export declare function scheduleAgentMetadataGeneration(options: AgentMetadataGenerationOptions): void;
export {};
//# sourceMappingURL=agent-metadata-generator.d.ts.map