/**
 * Zod schemas for validation and type safety
 */
import { z } from 'zod';
import { EntityType, PersonType, MemoryType, ImportanceLevel, BufferItemStatus, MCPToolResultStatus } from '../types/enums.js';
export declare const userSchema: z.ZodObject<{
    createdAt: z.ZodOptional<z.ZodString>;
    updatedAt: z.ZodOptional<z.ZodString>;
} & {
    id: z.ZodString;
    email: z.ZodString;
    name: z.ZodOptional<z.ZodString>;
    organization: z.ZodOptional<z.ZodString>;
    apiKey: z.ZodOptional<z.ZodString>;
    oauthProvider: z.ZodOptional<z.ZodString>;
    oauthId: z.ZodOptional<z.ZodString>;
    isActive: z.ZodDefault<z.ZodBoolean>;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "strip", z.ZodTypeAny, {
    id: string;
    email: string;
    isActive: boolean;
    organization?: string | undefined;
    createdAt?: string | undefined;
    updatedAt?: string | undefined;
    name?: string | undefined;
    apiKey?: string | undefined;
    oauthProvider?: string | undefined;
    oauthId?: string | undefined;
    metadata?: Record<string, unknown> | undefined;
}, {
    id: string;
    email: string;
    organization?: string | undefined;
    createdAt?: string | undefined;
    updatedAt?: string | undefined;
    name?: string | undefined;
    apiKey?: string | undefined;
    oauthProvider?: string | undefined;
    oauthId?: string | undefined;
    isActive?: boolean | undefined;
    metadata?: Record<string, unknown> | undefined;
}>;
export declare const entitySchema: z.ZodObject<{
    id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
    createdAt: z.ZodOptional<z.ZodString>;
    updatedAt: z.ZodOptional<z.ZodString>;
} & {
    userId: z.ZodOptional<z.ZodString>;
    name: z.ZodString;
    entityType: z.ZodNativeEnum<typeof EntityType>;
    personType: z.ZodOptional<z.ZodNativeEnum<typeof PersonType>>;
    description: z.ZodOptional<z.ZodString>;
    company: z.ZodOptional<z.ZodString>;
    title: z.ZodOptional<z.ZodString>;
    email: z.ZodOptional<z.ZodString>;
    phone: z.ZodOptional<z.ZodString>;
    address: z.ZodOptional<z.ZodString>;
    website: z.ZodOptional<z.ZodString>;
    socialMedia: z.ZodOptional<z.ZodString>;
    notes: z.ZodOptional<z.ZodString>;
    importance: z.ZodDefault<z.ZodNativeEnum<typeof ImportanceLevel>>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    relationships: z.ZodOptional<z.ZodString>;
    lastInteraction: z.ZodOptional<z.ZodString>;
    interactionCount: z.ZodDefault<z.ZodNumber>;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "strip", z.ZodTypeAny, {
    importance: ImportanceLevel;
    name: string;
    entityType: EntityType;
    interactionCount: number;
    id?: string | number | undefined;
    createdAt?: string | undefined;
    updatedAt?: string | undefined;
    email?: string | undefined;
    metadata?: Record<string, unknown> | undefined;
    userId?: string | undefined;
    personType?: PersonType | undefined;
    description?: string | undefined;
    company?: string | undefined;
    title?: string | undefined;
    phone?: string | undefined;
    address?: string | undefined;
    website?: string | undefined;
    socialMedia?: string | undefined;
    notes?: string | undefined;
    tags?: string[] | undefined;
    relationships?: string | undefined;
    lastInteraction?: string | undefined;
}, {
    name: string;
    entityType: EntityType;
    importance?: ImportanceLevel | undefined;
    id?: string | number | undefined;
    createdAt?: string | undefined;
    updatedAt?: string | undefined;
    email?: string | undefined;
    metadata?: Record<string, unknown> | undefined;
    userId?: string | undefined;
    personType?: PersonType | undefined;
    description?: string | undefined;
    company?: string | undefined;
    title?: string | undefined;
    phone?: string | undefined;
    address?: string | undefined;
    website?: string | undefined;
    socialMedia?: string | undefined;
    notes?: string | undefined;
    tags?: string[] | undefined;
    relationships?: string | undefined;
    lastInteraction?: string | undefined;
    interactionCount?: number | undefined;
}>;
export declare const memorySchema: z.ZodObject<{
    id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
    createdAt: z.ZodOptional<z.ZodString>;
    updatedAt: z.ZodOptional<z.ZodString>;
} & {
    userId: z.ZodOptional<z.ZodString>;
    title: z.ZodString;
    content: z.ZodString;
    memoryType: z.ZodDefault<z.ZodNativeEnum<typeof MemoryType>>;
    importance: z.ZodDefault<z.ZodNativeEnum<typeof ImportanceLevel>>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    entityIds: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
    embedding: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    isArchived: z.ZodDefault<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    importance: ImportanceLevel;
    title: string;
    content: string;
    memoryType: MemoryType;
    isArchived: boolean;
    id?: string | number | undefined;
    createdAt?: string | undefined;
    updatedAt?: string | undefined;
    metadata?: Record<string, unknown> | undefined;
    userId?: string | undefined;
    tags?: string[] | undefined;
    entityIds?: number[] | undefined;
    embedding?: number[] | undefined;
}, {
    title: string;
    content: string;
    importance?: ImportanceLevel | undefined;
    id?: string | number | undefined;
    createdAt?: string | undefined;
    updatedAt?: string | undefined;
    metadata?: Record<string, unknown> | undefined;
    userId?: string | undefined;
    tags?: string[] | undefined;
    memoryType?: MemoryType | undefined;
    entityIds?: number[] | undefined;
    embedding?: number[] | undefined;
    isArchived?: boolean | undefined;
}>;
export declare const interactionSchema: z.ZodObject<{
    id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
    createdAt: z.ZodOptional<z.ZodString>;
    updatedAt: z.ZodOptional<z.ZodString>;
} & {
    userId: z.ZodOptional<z.ZodString>;
    userPrompt: z.ZodString;
    assistantResponse: z.ZodString;
    context: z.ZodOptional<z.ZodString>;
    feedback: z.ZodOptional<z.ZodString>;
    sentiment: z.ZodOptional<z.ZodString>;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "strip", z.ZodTypeAny, {
    userPrompt: string;
    assistantResponse: string;
    id?: string | number | undefined;
    createdAt?: string | undefined;
    updatedAt?: string | undefined;
    metadata?: Record<string, unknown> | undefined;
    userId?: string | undefined;
    context?: string | undefined;
    feedback?: string | undefined;
    sentiment?: string | undefined;
}, {
    userPrompt: string;
    assistantResponse: string;
    id?: string | number | undefined;
    createdAt?: string | undefined;
    updatedAt?: string | undefined;
    metadata?: Record<string, unknown> | undefined;
    userId?: string | undefined;
    context?: string | undefined;
    feedback?: string | undefined;
    sentiment?: string | undefined;
}>;
export declare const bufferItemSchema: z.ZodObject<{
    id: z.ZodString;
    type: z.ZodEnum<["memory", "entity", "interaction"]>;
    data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
    status: z.ZodNativeEnum<typeof BufferItemStatus>;
    priority: z.ZodNumber;
    retryCount: z.ZodDefault<z.ZodNumber>;
    maxRetries: z.ZodDefault<z.ZodNumber>;
    createdAt: z.ZodString;
    processedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: "interaction" | "memory" | "entity";
    status: BufferItemStatus;
    id: string;
    createdAt: string;
    data: Record<string, unknown>;
    priority: number;
    retryCount: number;
    maxRetries: number;
    error?: string | undefined;
    processedAt?: string | undefined;
}, {
    type: "interaction" | "memory" | "entity";
    status: BufferItemStatus;
    id: string;
    createdAt: string;
    data: Record<string, unknown>;
    priority: number;
    error?: string | undefined;
    retryCount?: number | undefined;
    maxRetries?: number | undefined;
    processedAt?: string | undefined;
}>;
export declare const mcpToolResultSchema: z.ZodObject<{
    status: z.ZodNativeEnum<typeof MCPToolResultStatus>;
    message: z.ZodString;
    data: z.ZodOptional<z.ZodUnknown>;
    error: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    message: string;
    status: MCPToolResultStatus;
    error?: string | undefined;
    data?: unknown;
}, {
    message: string;
    status: MCPToolResultStatus;
    error?: string | undefined;
    data?: unknown;
}>;
export declare const vectorSearchOptionsSchema: z.ZodObject<{
    query: z.ZodString;
    limit: z.ZodDefault<z.ZodNumber>;
    threshold: z.ZodDefault<z.ZodNumber>;
    includeEmbedding: z.ZodDefault<z.ZodBoolean>;
    memoryTypes: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof MemoryType>, "many">>;
    entityTypes: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof EntityType>, "many">>;
}, "strip", z.ZodTypeAny, {
    query: string;
    limit: number;
    threshold: number;
    includeEmbedding: boolean;
    memoryTypes?: MemoryType[] | undefined;
    entityTypes?: EntityType[] | undefined;
}, {
    query: string;
    limit?: number | undefined;
    threshold?: number | undefined;
    includeEmbedding?: boolean | undefined;
    memoryTypes?: MemoryType[] | undefined;
    entityTypes?: EntityType[] | undefined;
}>;
export declare const databaseConfigSchema: z.ZodObject<{
    url: z.ZodString;
    authToken: z.ZodString;
    syncUrl: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    url: string;
    authToken: string;
    syncUrl?: string | undefined;
}, {
    url: string;
    authToken: string;
    syncUrl?: string | undefined;
}>;
export declare const apiResponseSchema: z.ZodObject<{
    success: z.ZodBoolean;
    data: z.ZodOptional<z.ZodUnknown>;
    error: z.ZodOptional<z.ZodString>;
    message: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    success: boolean;
    error?: string | undefined;
    message?: string | undefined;
    data?: unknown;
}, {
    success: boolean;
    error?: string | undefined;
    message?: string | undefined;
    data?: unknown;
}>;
export declare const createMemoryInputSchema: z.ZodObject<Omit<{
    id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
    createdAt: z.ZodOptional<z.ZodString>;
    updatedAt: z.ZodOptional<z.ZodString>;
} & {
    userId: z.ZodOptional<z.ZodString>;
    title: z.ZodString;
    content: z.ZodString;
    memoryType: z.ZodDefault<z.ZodNativeEnum<typeof MemoryType>>;
    importance: z.ZodDefault<z.ZodNativeEnum<typeof ImportanceLevel>>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    entityIds: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
    embedding: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    isArchived: z.ZodDefault<z.ZodBoolean>;
}, "id" | "createdAt" | "updatedAt" | "embedding">, "strip", z.ZodTypeAny, {
    importance: ImportanceLevel;
    title: string;
    content: string;
    memoryType: MemoryType;
    isArchived: boolean;
    metadata?: Record<string, unknown> | undefined;
    userId?: string | undefined;
    tags?: string[] | undefined;
    entityIds?: number[] | undefined;
}, {
    title: string;
    content: string;
    importance?: ImportanceLevel | undefined;
    metadata?: Record<string, unknown> | undefined;
    userId?: string | undefined;
    tags?: string[] | undefined;
    memoryType?: MemoryType | undefined;
    entityIds?: number[] | undefined;
    isArchived?: boolean | undefined;
}>;
export declare const updateMemoryInputSchema: z.ZodObject<{
    importance: z.ZodOptional<z.ZodDefault<z.ZodNativeEnum<typeof ImportanceLevel>>>;
    metadata: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
    userId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    title: z.ZodOptional<z.ZodString>;
    tags: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
    content: z.ZodOptional<z.ZodString>;
    memoryType: z.ZodOptional<z.ZodDefault<z.ZodNativeEnum<typeof MemoryType>>>;
    entityIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>>;
    isArchived: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
    importance?: ImportanceLevel | undefined;
    metadata?: Record<string, unknown> | undefined;
    userId?: string | undefined;
    title?: string | undefined;
    tags?: string[] | undefined;
    content?: string | undefined;
    memoryType?: MemoryType | undefined;
    entityIds?: number[] | undefined;
    isArchived?: boolean | undefined;
}, {
    importance?: ImportanceLevel | undefined;
    metadata?: Record<string, unknown> | undefined;
    userId?: string | undefined;
    title?: string | undefined;
    tags?: string[] | undefined;
    content?: string | undefined;
    memoryType?: MemoryType | undefined;
    entityIds?: number[] | undefined;
    isArchived?: boolean | undefined;
}>;
export declare const createEntityInputSchema: z.ZodObject<Omit<{
    id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
    createdAt: z.ZodOptional<z.ZodString>;
    updatedAt: z.ZodOptional<z.ZodString>;
} & {
    userId: z.ZodOptional<z.ZodString>;
    name: z.ZodString;
    entityType: z.ZodNativeEnum<typeof EntityType>;
    personType: z.ZodOptional<z.ZodNativeEnum<typeof PersonType>>;
    description: z.ZodOptional<z.ZodString>;
    company: z.ZodOptional<z.ZodString>;
    title: z.ZodOptional<z.ZodString>;
    email: z.ZodOptional<z.ZodString>;
    phone: z.ZodOptional<z.ZodString>;
    address: z.ZodOptional<z.ZodString>;
    website: z.ZodOptional<z.ZodString>;
    socialMedia: z.ZodOptional<z.ZodString>;
    notes: z.ZodOptional<z.ZodString>;
    importance: z.ZodDefault<z.ZodNativeEnum<typeof ImportanceLevel>>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    relationships: z.ZodOptional<z.ZodString>;
    lastInteraction: z.ZodOptional<z.ZodString>;
    interactionCount: z.ZodDefault<z.ZodNumber>;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "id" | "createdAt" | "updatedAt" | "interactionCount">, "strip", z.ZodTypeAny, {
    importance: ImportanceLevel;
    name: string;
    entityType: EntityType;
    email?: string | undefined;
    metadata?: Record<string, unknown> | undefined;
    userId?: string | undefined;
    personType?: PersonType | undefined;
    description?: string | undefined;
    company?: string | undefined;
    title?: string | undefined;
    phone?: string | undefined;
    address?: string | undefined;
    website?: string | undefined;
    socialMedia?: string | undefined;
    notes?: string | undefined;
    tags?: string[] | undefined;
    relationships?: string | undefined;
    lastInteraction?: string | undefined;
}, {
    name: string;
    entityType: EntityType;
    importance?: ImportanceLevel | undefined;
    email?: string | undefined;
    metadata?: Record<string, unknown> | undefined;
    userId?: string | undefined;
    personType?: PersonType | undefined;
    description?: string | undefined;
    company?: string | undefined;
    title?: string | undefined;
    phone?: string | undefined;
    address?: string | undefined;
    website?: string | undefined;
    socialMedia?: string | undefined;
    notes?: string | undefined;
    tags?: string[] | undefined;
    relationships?: string | undefined;
    lastInteraction?: string | undefined;
}>;
export declare const updateEntityInputSchema: z.ZodObject<{
    importance: z.ZodOptional<z.ZodDefault<z.ZodNativeEnum<typeof ImportanceLevel>>>;
    email: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    name: z.ZodOptional<z.ZodString>;
    metadata: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
    userId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    entityType: z.ZodOptional<z.ZodNativeEnum<typeof EntityType>>;
    personType: z.ZodOptional<z.ZodOptional<z.ZodNativeEnum<typeof PersonType>>>;
    description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    company: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    title: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    phone: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    address: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    website: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    socialMedia: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    notes: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    tags: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
    relationships: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    lastInteraction: z.ZodOptional<z.ZodOptional<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    importance?: ImportanceLevel | undefined;
    email?: string | undefined;
    name?: string | undefined;
    metadata?: Record<string, unknown> | undefined;
    userId?: string | undefined;
    entityType?: EntityType | undefined;
    personType?: PersonType | undefined;
    description?: string | undefined;
    company?: string | undefined;
    title?: string | undefined;
    phone?: string | undefined;
    address?: string | undefined;
    website?: string | undefined;
    socialMedia?: string | undefined;
    notes?: string | undefined;
    tags?: string[] | undefined;
    relationships?: string | undefined;
    lastInteraction?: string | undefined;
}, {
    importance?: ImportanceLevel | undefined;
    email?: string | undefined;
    name?: string | undefined;
    metadata?: Record<string, unknown> | undefined;
    userId?: string | undefined;
    entityType?: EntityType | undefined;
    personType?: PersonType | undefined;
    description?: string | undefined;
    company?: string | undefined;
    title?: string | undefined;
    phone?: string | undefined;
    address?: string | undefined;
    website?: string | undefined;
    socialMedia?: string | undefined;
    notes?: string | undefined;
    tags?: string[] | undefined;
    relationships?: string | undefined;
    lastInteraction?: string | undefined;
}>;
export declare const createUserInputSchema: z.ZodObject<Omit<{
    createdAt: z.ZodOptional<z.ZodString>;
    updatedAt: z.ZodOptional<z.ZodString>;
} & {
    id: z.ZodString;
    email: z.ZodString;
    name: z.ZodOptional<z.ZodString>;
    organization: z.ZodOptional<z.ZodString>;
    apiKey: z.ZodOptional<z.ZodString>;
    oauthProvider: z.ZodOptional<z.ZodString>;
    oauthId: z.ZodOptional<z.ZodString>;
    isActive: z.ZodDefault<z.ZodBoolean>;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "id" | "createdAt" | "updatedAt">, "strip", z.ZodTypeAny, {
    email: string;
    isActive: boolean;
    organization?: string | undefined;
    name?: string | undefined;
    apiKey?: string | undefined;
    oauthProvider?: string | undefined;
    oauthId?: string | undefined;
    metadata?: Record<string, unknown> | undefined;
}, {
    email: string;
    organization?: string | undefined;
    name?: string | undefined;
    apiKey?: string | undefined;
    oauthProvider?: string | undefined;
    oauthId?: string | undefined;
    isActive?: boolean | undefined;
    metadata?: Record<string, unknown> | undefined;
}>;
export declare const updateUserInputSchema: z.ZodObject<{
    organization: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    email: z.ZodOptional<z.ZodString>;
    name: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    apiKey: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    oauthProvider: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    oauthId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    isActive: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    metadata: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
}, "strip", z.ZodTypeAny, {
    organization?: string | undefined;
    email?: string | undefined;
    name?: string | undefined;
    apiKey?: string | undefined;
    oauthProvider?: string | undefined;
    oauthId?: string | undefined;
    isActive?: boolean | undefined;
    metadata?: Record<string, unknown> | undefined;
}, {
    organization?: string | undefined;
    email?: string | undefined;
    name?: string | undefined;
    apiKey?: string | undefined;
    oauthProvider?: string | undefined;
    oauthId?: string | undefined;
    isActive?: boolean | undefined;
    metadata?: Record<string, unknown> | undefined;
}>;
export type UserInput = z.infer<typeof userSchema>;
export type EntityInput = z.infer<typeof entitySchema>;
export type MemoryInput = z.infer<typeof memorySchema>;
export type InteractionInput = z.infer<typeof interactionSchema>;
export type BufferItemInput = z.infer<typeof bufferItemSchema>;
export type MCPToolResultInput = z.infer<typeof mcpToolResultSchema>;
export type VectorSearchOptionsInput = z.infer<typeof vectorSearchOptionsSchema>;
export type DatabaseConfigInput = z.infer<typeof databaseConfigSchema>;
export type ApiResponseInput = z.infer<typeof apiResponseSchema>;
export type CreateMemoryInput = z.infer<typeof createMemoryInputSchema>;
export type UpdateMemoryInput = z.infer<typeof updateMemoryInputSchema>;
export type CreateEntityInput = z.infer<typeof createEntityInputSchema>;
export type UpdateEntityInput = z.infer<typeof updateEntityInputSchema>;
export type CreateUserInput = z.infer<typeof createUserInputSchema>;
export type UpdateUserInput = z.infer<typeof updateUserInputSchema>;
//# sourceMappingURL=schemas.d.ts.map