declare const AgentMemoryRecordType: {
    readonly EPISODE: "EPISODE";
    readonly PREFERENCE: "PREFERENCE";
    readonly BELIEF: "BELIEF";
    readonly WORKFLOW: "WORKFLOW";
    readonly WATCHITEM: "WATCHITEM";
    readonly CALIBRATION: "CALIBRATION";
};
type AgentMemoryRecordType = (typeof AgentMemoryRecordType)[keyof typeof AgentMemoryRecordType];
type AgentMemoryPayload = Record<string, unknown>;
interface AgentMemoryRecord {
    id: string;
    type: AgentMemoryRecordType;
    scope: string;
    domain: string | null;
    payload: AgentMemoryPayload;
    source: string | null;
    confidence: number | null;
    createdAt: Date;
    updatedAt: Date;
    expiresAt: Date | null;
}
/**
 * Structural type for the subset of a generated PrismaClient that the
 * agent-kit helpers actually use. Consumers pass their own PrismaClient
 * instance and TypeScript will check that the `agentMemoryRecord`
 * delegate is present.
 */
interface AgentMemoryPrismaClient {
    agentMemoryRecord: {
        create(args: {
            data: {
                type: AgentMemoryRecordType;
                scope: string;
                domain?: string | null;
                payload: AgentMemoryPayload;
                source?: string | null;
                confidence?: number | null;
                expiresAt?: Date | null;
            };
        }): Promise<AgentMemoryRecord>;
        findMany(args: {
            where?: {
                type?: AgentMemoryRecordType | {
                    in: AgentMemoryRecordType[];
                };
                scope?: string;
                domain?: string | null;
                createdAt?: {
                    gte?: Date;
                    lte?: Date;
                };
            };
            orderBy?: {
                createdAt: "asc" | "desc";
            };
            take?: number;
        }): Promise<AgentMemoryRecord[]>;
    };
}

interface WriteArgs {
    scope: string;
    domain?: string | null;
    payload: AgentMemoryPayload;
    source?: string | null;
    confidence?: number | null;
    expiresAt?: Date | null;
}
declare function writeEpisode(client: AgentMemoryPrismaClient, args: WriteArgs): Promise<AgentMemoryRecord>;
declare function writePreference(client: AgentMemoryPrismaClient, args: WriteArgs): Promise<AgentMemoryRecord>;
declare function writeBelief(client: AgentMemoryPrismaClient, args: WriteArgs): Promise<AgentMemoryRecord>;
declare function writeWorkflow(client: AgentMemoryPrismaClient, args: WriteArgs): Promise<AgentMemoryRecord>;
declare function writeWatchItem(client: AgentMemoryPrismaClient, args: WriteArgs): Promise<AgentMemoryRecord>;
declare function writeCalibration(client: AgentMemoryPrismaClient, args: WriteArgs): Promise<AgentMemoryRecord>;
interface FindRecentEpisodesArgs {
    scope: string;
    sinceHours: number;
    limit?: number;
}
declare function findRecentEpisodes(client: AgentMemoryPrismaClient, args: FindRecentEpisodesArgs): Promise<AgentMemoryRecord[]>;
declare function findCalibrationsForScope(client: AgentMemoryPrismaClient, scope: string): Promise<AgentMemoryRecord[]>;

export { type AgentMemoryPayload, type AgentMemoryPrismaClient, type AgentMemoryRecord, AgentMemoryRecordType, type FindRecentEpisodesArgs, findCalibrationsForScope, findRecentEpisodes, writeBelief, writeCalibration, writeEpisode, writePreference, writeWatchItem, writeWorkflow };
