import type { InferInsertModel } from "drizzle-orm";
import { z } from "zod";
import type { Trace } from "../server/models/trace.js";
export declare const AIGNEObserverOptionsSchema: z.ZodDefault<z.ZodOptional<z.ZodObject<{
    storage: z.ZodOptional<z.ZodString>;
    retention: z.ZodOptional<z.ZodObject<{
        activeDays: z.ZodOptional<z.ZodNumber>;
        archiveEnabled: z.ZodOptional<z.ZodBoolean>;
        archiveDir: z.ZodOptional<z.ZodString>;
        archiveMaxFiles: z.ZodOptional<z.ZodNumber>;
        archiveSchedule: z.ZodOptional<z.ZodString>;
        verifyBeforeDelete: z.ZodOptional<z.ZodBoolean>;
        dryRun: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        activeDays?: number | undefined;
        archiveEnabled?: boolean | undefined;
        archiveDir?: string | undefined;
        archiveMaxFiles?: number | undefined;
        archiveSchedule?: string | undefined;
        verifyBeforeDelete?: boolean | undefined;
        dryRun?: boolean | undefined;
    }, {
        activeDays?: number | undefined;
        archiveEnabled?: boolean | undefined;
        archiveDir?: string | undefined;
        archiveMaxFiles?: number | undefined;
        archiveSchedule?: string | undefined;
        verifyBeforeDelete?: boolean | undefined;
        dryRun?: boolean | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    storage?: string | undefined;
    retention?: {
        activeDays?: number | undefined;
        archiveEnabled?: boolean | undefined;
        archiveDir?: string | undefined;
        archiveMaxFiles?: number | undefined;
        archiveSchedule?: string | undefined;
        verifyBeforeDelete?: boolean | undefined;
        dryRun?: boolean | undefined;
    } | undefined;
}, {
    storage?: string | undefined;
    retention?: {
        activeDays?: number | undefined;
        archiveEnabled?: boolean | undefined;
        archiveDir?: string | undefined;
        archiveMaxFiles?: number | undefined;
        archiveSchedule?: string | undefined;
        verifyBeforeDelete?: boolean | undefined;
        dryRun?: boolean | undefined;
    } | undefined;
}>>>;
export type AIGNEObserverOptions = z.infer<typeof AIGNEObserverOptionsSchema>;
export interface RetentionConfig {
    activeDays: number;
    archiveEnabled: boolean;
    archiveDir?: string;
    archiveMaxFiles: number;
    archiveSchedule: string;
    verifyBeforeDelete: boolean;
    dryRun?: boolean;
}
export declare const DEFAULT_RETENTION_CONFIG: RetentionConfig;
export type AttributeParams = {
    input?: {
        [key: string]: any;
    };
    output?: {
        [key: string]: any;
    };
    userContext?: {
        [key: string]: any;
    };
    memories?: {
        [key: string]: any;
    };
    status?: {
        [key: string]: any;
    };
};
export type TraceFormatSpans = Omit<InferInsertModel<typeof Trace>, "id" | "rootId" | "attributes"> & {
    id: string;
    rootId: string;
    attributes?: AttributeParams;
};
