import type { z } from "zod";
import type { ProviderDefinition } from "./provider-registry.js";
import type { AgentManager } from "./agent-manager.js";
import type { AgentStorage } from "./agent-storage.js";
import type { FetchRecentProviderSessionsRequestMessage, ImportAgentRequestMessageSchema, RecentProviderSessionDescriptorPayload } from "../../shared/messages.js";
type ImportAgentRequestMessage = z.infer<typeof ImportAgentRequestMessageSchema>;
export interface NormalizedImportAgentRequest {
    provider: string;
    providerHandleId: string;
    cwd?: string;
    labels?: Record<string, string>;
    requestId: string;
}
export declare class ImportSessionsRequestError extends Error {
    readonly code: string;
    constructor(code: string, message: string);
}
export interface ListImportableProviderSessionsInput {
    request: FetchRecentProviderSessionsRequestMessage;
    agentManager: Pick<AgentManager, "listAgents" | "listImportablePersistedAgents">;
    agentStorage: Pick<AgentStorage, "list">;
    providerRegistry: Record<string, Pick<ProviderDefinition, "label"> | undefined>;
}
export interface ListImportableProviderSessionsResult {
    entries: RecentProviderSessionDescriptorPayload[];
    filteredAlreadyImportedCount: number;
}
export declare function normalizeImportAgentRequest(msg: ImportAgentRequestMessage): NormalizedImportAgentRequest | {
    error: string;
};
export declare function listImportableProviderSessions(input: ListImportableProviderSessionsInput): Promise<ListImportableProviderSessionsResult>;
export {};
//# sourceMappingURL=import-sessions.d.ts.map