import { z } from "zod";
export declare const recordTraceSchema: z.ZodObject<{
    id: z.ZodString;
    rootId: z.ZodString;
    parentId: z.ZodOptional<z.ZodString>;
    name: z.ZodString;
    startTime: z.ZodNumber;
    endTime: z.ZodNumber;
    status: z.ZodRecord<z.ZodString, z.ZodAny>;
    attributes: z.ZodRecord<z.ZodString, z.ZodAny>;
    links: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>;
    events: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>;
    userId: z.ZodOptional<z.ZodString>;
    sessionId: z.ZodOptional<z.ZodString>;
    componentId: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    id: string;
    name: string;
    rootId: string;
    startTime: number;
    endTime: number;
    status: Record<string, any>;
    attributes: Record<string, any>;
    parentId?: string | undefined;
    links?: any[] | undefined;
    events?: any[] | undefined;
    userId?: string | undefined;
    sessionId?: string | undefined;
    componentId?: string | undefined;
}, {
    id: string;
    name: string;
    rootId: string;
    startTime: number;
    endTime: number;
    status: Record<string, any>;
    attributes: Record<string, any>;
    parentId?: string | undefined;
    links?: any[] | undefined;
    events?: any[] | undefined;
    userId?: string | undefined;
    sessionId?: string | undefined;
    componentId?: string | undefined;
}>;
export declare const createTraceSchema: z.ZodObject<Omit<{
    id: z.ZodString;
    rootId: z.ZodString;
    parentId: z.ZodOptional<z.ZodString>;
    name: z.ZodString;
    startTime: z.ZodNumber;
    endTime: z.ZodNumber;
    status: z.ZodRecord<z.ZodString, z.ZodAny>;
    attributes: z.ZodRecord<z.ZodString, z.ZodAny>;
    links: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>;
    events: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>;
    userId: z.ZodOptional<z.ZodString>;
    sessionId: z.ZodOptional<z.ZodString>;
    componentId: z.ZodOptional<z.ZodString>;
}, never>, "strip", z.ZodTypeAny, {
    id: string;
    name: string;
    rootId: string;
    startTime: number;
    endTime: number;
    status: Record<string, any>;
    attributes: Record<string, any>;
    parentId?: string | undefined;
    links?: any[] | undefined;
    events?: any[] | undefined;
    userId?: string | undefined;
    sessionId?: string | undefined;
    componentId?: string | undefined;
}, {
    id: string;
    name: string;
    rootId: string;
    startTime: number;
    endTime: number;
    status: Record<string, any>;
    attributes: Record<string, any>;
    parentId?: string | undefined;
    links?: any[] | undefined;
    events?: any[] | undefined;
    userId?: string | undefined;
    sessionId?: string | undefined;
    componentId?: string | undefined;
}>;
export declare const updateTraceSchema: z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    rootId: z.ZodOptional<z.ZodString>;
    parentId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    name: z.ZodOptional<z.ZodString>;
    startTime: z.ZodOptional<z.ZodNumber>;
    endTime: z.ZodOptional<z.ZodNumber>;
    status: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
    attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
    links: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodAny, "many">>>;
    events: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodAny, "many">>>;
    userId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    sessionId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    componentId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    id?: string | undefined;
    name?: string | undefined;
    rootId?: string | undefined;
    parentId?: string | undefined;
    startTime?: number | undefined;
    endTime?: number | undefined;
    status?: Record<string, any> | undefined;
    attributes?: Record<string, any> | undefined;
    links?: any[] | undefined;
    events?: any[] | undefined;
    userId?: string | undefined;
    sessionId?: string | undefined;
    componentId?: string | undefined;
}, {
    id?: string | undefined;
    name?: string | undefined;
    rootId?: string | undefined;
    parentId?: string | undefined;
    startTime?: number | undefined;
    endTime?: number | undefined;
    status?: Record<string, any> | undefined;
    attributes?: Record<string, any> | undefined;
    links?: any[] | undefined;
    events?: any[] | undefined;
    userId?: string | undefined;
    sessionId?: string | undefined;
    componentId?: string | undefined;
}>;
export declare const createTraceBatchSchema: z.ZodArray<z.ZodObject<Omit<{
    id: z.ZodString;
    rootId: z.ZodString;
    parentId: z.ZodOptional<z.ZodString>;
    name: z.ZodString;
    startTime: z.ZodNumber;
    endTime: z.ZodNumber;
    status: z.ZodRecord<z.ZodString, z.ZodAny>;
    attributes: z.ZodRecord<z.ZodString, z.ZodAny>;
    links: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>;
    events: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>;
    userId: z.ZodOptional<z.ZodString>;
    sessionId: z.ZodOptional<z.ZodString>;
    componentId: z.ZodOptional<z.ZodString>;
}, never>, "strip", z.ZodTypeAny, {
    id: string;
    name: string;
    rootId: string;
    startTime: number;
    endTime: number;
    status: Record<string, any>;
    attributes: Record<string, any>;
    parentId?: string | undefined;
    links?: any[] | undefined;
    events?: any[] | undefined;
    userId?: string | undefined;
    sessionId?: string | undefined;
    componentId?: string | undefined;
}, {
    id: string;
    name: string;
    rootId: string;
    startTime: number;
    endTime: number;
    status: Record<string, any>;
    attributes: Record<string, any>;
    parentId?: string | undefined;
    links?: any[] | undefined;
    events?: any[] | undefined;
    userId?: string | undefined;
    sessionId?: string | undefined;
    componentId?: string | undefined;
}>, "many">;
export type TraceInput = z.infer<typeof createTraceSchema>;
export type TraceUpdate = z.infer<typeof updateTraceSchema>;
export type TraceBatch = z.infer<typeof createTraceBatchSchema>;
