import { z } from 'zod';
import { MessageRole, SessionStatus } from './session';
/**
 * Schema for user model validation.
 */
export declare const userSchema: z.ZodObject<{
    userId: z.ZodString;
    metadata: z.ZodRecord<z.ZodString, z.ZodAny>;
    createdAt: z.ZodDate;
    lastActiveAt: z.ZodDate;
}, "strip", z.ZodTypeAny, {
    createdAt: Date;
    userId: string;
    metadata: Record<string, any>;
    lastActiveAt: Date;
}, {
    createdAt: Date;
    userId: string;
    metadata: Record<string, any>;
    lastActiveAt: Date;
}>;
/**
 * Schema for user list validation.
 */
export declare const userListSchema: z.ZodObject<{
    users: z.ZodArray<z.ZodObject<{
        userId: z.ZodString;
        metadata: z.ZodRecord<z.ZodString, z.ZodAny>;
        createdAt: z.ZodDate;
        lastActiveAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        createdAt: Date;
        userId: string;
        metadata: Record<string, any>;
        lastActiveAt: Date;
    }, {
        createdAt: Date;
        userId: string;
        metadata: Record<string, any>;
        lastActiveAt: Date;
    }>, "many">;
    total: z.ZodNumber;
    hasMore: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    total: number;
    hasMore: boolean;
    users: {
        createdAt: Date;
        userId: string;
        metadata: Record<string, any>;
        lastActiveAt: Date;
    }[];
}, {
    total: number;
    hasMore: boolean;
    users: {
        createdAt: Date;
        userId: string;
        metadata: Record<string, any>;
        lastActiveAt: Date;
    }[];
}>;
/**
 * Schema for message validation.
 */
export declare const messageSchema: z.ZodObject<{
    role: z.ZodNativeEnum<typeof MessageRole>;
    content: z.ZodString;
    timestamp: z.ZodDate;
}, "strip", z.ZodTypeAny, {
    role: MessageRole;
    content: string;
    timestamp: Date;
}, {
    role: MessageRole;
    content: string;
    timestamp: Date;
}>;
/**
 * Schema for session validation.
 */
export declare const sessionSchema: z.ZodObject<{
    sessionId: z.ZodString;
    status: z.ZodNativeEnum<typeof SessionStatus>;
    createdAt: z.ZodDate;
}, "strip", z.ZodTypeAny, {
    status: SessionStatus;
    sessionId: string;
    createdAt: Date;
}, {
    status: SessionStatus;
    sessionId: string;
    createdAt: Date;
}>;
/**
 * Schema for session list validation.
 */
export declare const sessionListSchema: z.ZodObject<{
    sessions: z.ZodArray<z.ZodObject<{
        sessionId: z.ZodString;
        status: z.ZodNativeEnum<typeof SessionStatus>;
        createdAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        status: SessionStatus;
        sessionId: string;
        createdAt: Date;
    }, {
        status: SessionStatus;
        sessionId: string;
        createdAt: Date;
    }>, "many">;
    total: z.ZodNumber;
    hasMore: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    sessions: {
        status: SessionStatus;
        sessionId: string;
        createdAt: Date;
    }[];
    total: number;
    hasMore: boolean;
}, {
    sessions: {
        status: SessionStatus;
        sessionId: string;
        createdAt: Date;
    }[];
    total: number;
    hasMore: boolean;
}>;
/**
 * Schema for context validation.
 */
export declare const contextSchema: z.ZodObject<{
    memoryUsed: z.ZodBoolean;
    context: z.ZodString;
}, "strip", z.ZodTypeAny, {
    memoryUsed: boolean;
    context: string;
}, {
    memoryUsed: boolean;
    context: string;
}>;
