import { z } from 'zod';
import type { SessionMessageMeta } from './sessionMessageMeta.js';
type UnknownOutputDataType = string & {
    readonly __happierUnknownOutputDataType: unique symbol;
};
export type TranscriptRawRecordV1WithMeta<Meta> = (Record<string, unknown> & {
    role: 'agent';
    content: TranscriptRawAgentRecordV1;
    meta?: Meta;
}) | (Record<string, unknown> & {
    role: 'user';
    content: {
        type: 'text';
        text: string;
    } & Record<string, unknown>;
    meta?: Meta;
});
export declare function createTranscriptRawRecordV1Schema(zod: typeof z): z.ZodType<TranscriptRawRecordV1WithMeta<SessionMessageMeta>>;
export declare function createTranscriptRawRecordV1Schema<MetaSchema extends z.ZodTypeAny>(zod: typeof z, options: Readonly<{
    metaSchema: MetaSchema;
}>): z.ZodType<TranscriptRawRecordV1WithMeta<z.infer<MetaSchema>>>;
export declare const TranscriptRawRecordV1Schema: z.ZodType<TranscriptRawRecordV1WithMeta<{
    [x: string]: unknown;
    sentFrom?: "unknown" | "cli" | "voice_agent" | "web" | "android" | "ios" | "mac" | "retry" | "e2e" | undefined;
    source?: string | undefined;
    permissionMode?: "default" | "plan" | "acceptEdits" | "bypassPermissions" | "read-only" | "safe-yolo" | "yolo" | undefined;
    model?: string | null | undefined;
    fallbackModel?: string | null | undefined;
    customSystemPrompt?: string | null | undefined;
    appendSystemPrompt?: string | null | undefined;
    allowedTools?: string[] | null | undefined;
    disallowedTools?: string[] | null | undefined;
    displayText?: string | undefined;
    happier?: {
        kind: string;
        payload: unknown;
    } | undefined;
}>, unknown, z.core.$ZodTypeInternals<TranscriptRawRecordV1WithMeta<{
    [x: string]: unknown;
    sentFrom?: "unknown" | "cli" | "voice_agent" | "web" | "android" | "ios" | "mac" | "retry" | "e2e" | undefined;
    source?: string | undefined;
    permissionMode?: "default" | "plan" | "acceptEdits" | "bypassPermissions" | "read-only" | "safe-yolo" | "yolo" | undefined;
    model?: string | null | undefined;
    fallbackModel?: string | null | undefined;
    customSystemPrompt?: string | null | undefined;
    appendSystemPrompt?: string | null | undefined;
    allowedTools?: string[] | null | undefined;
    disallowedTools?: string[] | null | undefined;
    displayText?: string | undefined;
    happier?: {
        kind: string;
        payload: unknown;
    } | undefined;
}>, unknown>>;
export type TranscriptRawRecordV1 = z.infer<typeof TranscriptRawRecordV1Schema>;
export declare const TranscriptRawUsageDataV1Schema: z.ZodObject<{
    input_tokens: z.ZodNumber;
    cache_creation_input_tokens: z.ZodOptional<z.ZodNumber>;
    cache_read_input_tokens: z.ZodOptional<z.ZodNumber>;
    output_tokens: z.ZodNumber;
    service_tier: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, z.core.$loose>;
export type TranscriptRawUsageDataV1 = z.infer<typeof TranscriptRawUsageDataV1Schema>;
export declare const TranscriptRawAgentEventV1Schema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    type: z.ZodLiteral<"switch">;
    mode: z.ZodEnum<{
        local: "local";
        remote: "remote";
    }>;
}, z.core.$loose>, z.ZodObject<{
    type: z.ZodLiteral<"message">;
    message: z.ZodString;
}, z.core.$loose>, z.ZodObject<{
    type: z.ZodLiteral<"limit-reached">;
    endsAt: z.ZodNumber;
}, z.core.$loose>, z.ZodObject<{
    type: z.ZodLiteral<"task-lifecycle">;
    event: z.ZodEnum<{
        task_started: "task_started";
        task_complete: "task_complete";
        turn_aborted: "turn_aborted";
    }>;
    id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, z.core.$loose>, z.ZodObject<{
    type: z.ZodLiteral<"ready">;
}, z.core.$loose>], "type">;
export type TranscriptRawAgentEventV1 = z.infer<typeof TranscriptRawAgentEventV1Schema>;
export declare const TranscriptRawAgentContentV1Schema: z.ZodUnion<readonly [z.ZodObject<{
    type: z.ZodLiteral<"text">;
    text: z.ZodString;
}, z.core.$loose>, z.ZodObject<{
    type: z.ZodLiteral<"tool_use">;
    id: z.ZodString;
    name: z.ZodString;
    input: z.ZodUnknown;
}, z.core.$loose>, z.ZodObject<{
    type: z.ZodLiteral<"tool_result">;
    tool_use_id: z.ZodString;
    content: z.ZodUnknown;
    is_error: z.ZodOptional<z.ZodBoolean>;
    permissions: z.ZodOptional<z.ZodUnknown>;
}, z.core.$loose>, z.ZodObject<{
    type: z.ZodLiteral<"thinking">;
    thinking: z.ZodString;
}, z.core.$loose>, z.ZodObject<{
    type: z.ZodLiteral<"tool-call">;
    callId: z.ZodString;
    id: z.ZodOptional<z.ZodString>;
    name: z.ZodString;
    input: z.ZodUnknown;
}, z.core.$loose>, z.ZodObject<{
    type: z.ZodLiteral<"tool-call-result">;
    callId: z.ZodString;
    tool_use_id: z.ZodOptional<z.ZodString>;
    output: z.ZodUnknown;
    content: z.ZodOptional<z.ZodUnknown>;
    is_error: z.ZodOptional<z.ZodBoolean>;
}, z.core.$loose>, z.ZodObject<{
    type: z.ZodString;
}, z.core.$loose>]>;
export type TranscriptRawAgentContentV1 = z.infer<typeof TranscriptRawAgentContentV1Schema>;
export declare const TranscriptRawAgentRecordV1Schema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    type: z.ZodLiteral<"output">;
    data: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
        type: z.ZodLiteral<"system">;
        readonly isSidechain: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
        readonly isCompactSummary: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
        readonly isMeta: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
        readonly uuid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        readonly parentUuid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    }, z.core.$loose>, z.ZodObject<{
        type: z.ZodLiteral<"result">;
        readonly isSidechain: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
        readonly isCompactSummary: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
        readonly isMeta: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
        readonly uuid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        readonly parentUuid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    }, z.core.$loose>, z.ZodObject<{
        type: z.ZodLiteral<"summary">;
        summary: z.ZodString;
        readonly isSidechain: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
        readonly isCompactSummary: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
        readonly isMeta: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
        readonly uuid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        readonly parentUuid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    }, z.core.$loose>, z.ZodObject<{
        type: z.ZodLiteral<"progress">;
        readonly isSidechain: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
        readonly isCompactSummary: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
        readonly isMeta: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
        readonly uuid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        readonly parentUuid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    }, z.core.$loose>, z.ZodObject<{
        type: z.ZodLiteral<"assistant">;
        message: z.ZodObject<{
            role: z.ZodLiteral<"assistant">;
            model: z.ZodOptional<z.ZodString>;
            content: z.ZodUnion<readonly [z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
                type: z.ZodLiteral<"text">;
                text: z.ZodString;
            }, z.core.$loose>, z.ZodObject<{
                type: z.ZodLiteral<"tool_use">;
                id: z.ZodString;
                name: z.ZodString;
                input: z.ZodUnknown;
            }, z.core.$loose>, z.ZodObject<{
                type: z.ZodLiteral<"tool_result">;
                tool_use_id: z.ZodString;
                content: z.ZodUnknown;
                is_error: z.ZodOptional<z.ZodBoolean>;
                permissions: z.ZodOptional<z.ZodUnknown>;
            }, z.core.$loose>, z.ZodObject<{
                type: z.ZodLiteral<"thinking">;
                thinking: z.ZodString;
            }, z.core.$loose>, z.ZodObject<{
                type: z.ZodLiteral<"tool-call">;
                callId: z.ZodString;
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodString;
                input: z.ZodUnknown;
            }, z.core.$loose>, z.ZodObject<{
                type: z.ZodLiteral<"tool-call-result">;
                callId: z.ZodString;
                tool_use_id: z.ZodOptional<z.ZodString>;
                output: z.ZodUnknown;
                content: z.ZodOptional<z.ZodUnknown>;
                is_error: z.ZodOptional<z.ZodBoolean>;
            }, z.core.$loose>, z.ZodObject<{
                type: z.ZodString;
            }, z.core.$loose>]>>, z.ZodString]>;
            usage: z.ZodPipe<z.ZodOptional<z.ZodUnknown>, z.ZodTransform<{
                [x: string]: unknown;
                input_tokens: number;
                output_tokens: number;
                cache_creation_input_tokens?: number | undefined;
                cache_read_input_tokens?: number | undefined;
                service_tier?: string | null | undefined;
            } | undefined, unknown>>;
        }, z.core.$loose>;
        parent_tool_use_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        readonly isSidechain: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
        readonly isCompactSummary: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
        readonly isMeta: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
        readonly uuid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        readonly parentUuid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    }, z.core.$loose>, z.ZodObject<{
        type: z.ZodLiteral<"user">;
        message: z.ZodObject<{
            role: z.ZodLiteral<"user">;
            content: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
                type: z.ZodLiteral<"text">;
                text: z.ZodString;
            }, z.core.$loose>, z.ZodObject<{
                type: z.ZodLiteral<"tool_use">;
                id: z.ZodString;
                name: z.ZodString;
                input: z.ZodUnknown;
            }, z.core.$loose>, z.ZodObject<{
                type: z.ZodLiteral<"tool_result">;
                tool_use_id: z.ZodString;
                content: z.ZodUnknown;
                is_error: z.ZodOptional<z.ZodBoolean>;
                permissions: z.ZodOptional<z.ZodUnknown>;
            }, z.core.$loose>, z.ZodObject<{
                type: z.ZodLiteral<"thinking">;
                thinking: z.ZodString;
            }, z.core.$loose>, z.ZodObject<{
                type: z.ZodLiteral<"tool-call">;
                callId: z.ZodString;
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodString;
                input: z.ZodUnknown;
            }, z.core.$loose>, z.ZodObject<{
                type: z.ZodLiteral<"tool-call-result">;
                callId: z.ZodString;
                tool_use_id: z.ZodOptional<z.ZodString>;
                output: z.ZodUnknown;
                content: z.ZodOptional<z.ZodUnknown>;
                is_error: z.ZodOptional<z.ZodBoolean>;
            }, z.core.$loose>, z.ZodObject<{
                type: z.ZodString;
            }, z.core.$loose>]>>]>;
        }, z.core.$loose>;
        parent_tool_use_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        toolUseResult: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
        readonly isSidechain: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
        readonly isCompactSummary: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
        readonly isMeta: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
        readonly uuid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        readonly parentUuid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    }, z.core.$loose>], "type">, z.ZodPipe<z.ZodObject<{
        type: z.ZodString;
        readonly isSidechain: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
        readonly isCompactSummary: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
        readonly isMeta: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
        readonly uuid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        readonly parentUuid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    }, z.core.$loose>, z.ZodTransform<{
        type: UnknownOutputDataType;
        isSidechain?: boolean | null | undefined;
        isCompactSummary?: boolean | null | undefined;
        isMeta?: boolean | null | undefined;
        uuid?: string | null | undefined;
        parentUuid?: string | null | undefined;
    }, {
        [x: string]: unknown;
        type: string;
        isSidechain?: boolean | null | undefined;
        isCompactSummary?: boolean | null | undefined;
        isMeta?: boolean | null | undefined;
        uuid?: string | null | undefined;
        parentUuid?: string | null | undefined;
    }>>]>;
}, z.core.$strip>, z.ZodObject<{
    type: z.ZodLiteral<"event">;
    id: z.ZodString;
    data: z.ZodDiscriminatedUnion<[z.ZodObject<{
        type: z.ZodLiteral<"switch">;
        mode: z.ZodEnum<{
            local: "local";
            remote: "remote";
        }>;
    }, z.core.$loose>, z.ZodObject<{
        type: z.ZodLiteral<"message">;
        message: z.ZodString;
    }, z.core.$loose>, z.ZodObject<{
        type: z.ZodLiteral<"limit-reached">;
        endsAt: z.ZodNumber;
    }, z.core.$loose>, z.ZodObject<{
        type: z.ZodLiteral<"task-lifecycle">;
        event: z.ZodEnum<{
            task_started: "task_started";
            task_complete: "task_complete";
            turn_aborted: "turn_aborted";
        }>;
        id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    }, z.core.$loose>, z.ZodObject<{
        type: z.ZodLiteral<"ready">;
    }, z.core.$loose>], "type">;
}, z.core.$loose>, z.ZodObject<{
    type: z.ZodLiteral<"codex">;
    data: z.ZodDiscriminatedUnion<[z.ZodObject<{
        type: z.ZodLiteral<"reasoning">;
        message: z.ZodString;
        sidechainId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>, z.ZodObject<{
        type: z.ZodLiteral<"message">;
        message: z.ZodString;
        sidechainId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>, z.ZodObject<{
        type: z.ZodLiteral<"token_count">;
        sidechainId: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>, z.ZodObject<{
        type: z.ZodLiteral<"tool-call">;
        callId: z.ZodString;
        input: z.ZodUnknown;
        name: z.ZodString;
        id: z.ZodString;
        sidechainId: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>, z.ZodObject<{
        type: z.ZodLiteral<"tool-call-result">;
        callId: z.ZodString;
        output: z.ZodUnknown;
        id: z.ZodString;
        sidechainId: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>], "type">;
}, z.core.$loose>, z.ZodObject<{
    type: z.ZodLiteral<"acp">;
    provider: z.ZodString;
    data: z.ZodLazy<z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
        type: z.ZodLiteral<"reasoning">;
        message: z.ZodString;
        sidechainId: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>, z.ZodObject<{
        type: z.ZodLiteral<"message">;
        message: z.ZodString;
        sidechainId: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>, z.ZodObject<{
        type: z.ZodLiteral<"thinking">;
        text: z.ZodString;
        sidechainId: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>, z.ZodObject<{
        type: z.ZodLiteral<"tool-call">;
        callId: z.ZodString;
        input: z.ZodUnknown;
        name: z.ZodString;
        id: z.ZodString;
        sidechainId: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>, z.ZodObject<{
        type: z.ZodLiteral<"tool-result">;
        callId: z.ZodString;
        output: z.ZodUnknown;
        id: z.ZodString;
        isError: z.ZodOptional<z.ZodBoolean>;
        sidechainId: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>, z.ZodObject<{
        type: z.ZodLiteral<"tool-call-result">;
        callId: z.ZodString;
        output: z.ZodUnknown;
        id: z.ZodString;
        sidechainId: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>, z.ZodObject<{
        type: z.ZodLiteral<"file-edit">;
        description: z.ZodString;
        filePath: z.ZodString;
        diff: z.ZodOptional<z.ZodString>;
        oldContent: z.ZodOptional<z.ZodString>;
        newContent: z.ZodOptional<z.ZodString>;
        id: z.ZodString;
        sidechainId: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>, z.ZodObject<{
        type: z.ZodLiteral<"terminal-output">;
        data: z.ZodString;
        callId: z.ZodString;
        sidechainId: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>, z.ZodObject<{
        type: z.ZodLiteral<"task_started">;
        id: z.ZodString;
        sidechainId: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>, z.ZodObject<{
        type: z.ZodLiteral<"task_complete">;
        id: z.ZodString;
        sidechainId: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>, z.ZodObject<{
        type: z.ZodLiteral<"turn_aborted">;
        id: z.ZodString;
        sidechainId: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>, z.ZodObject<{
        type: z.ZodLiteral<"permission-request">;
        permissionId: z.ZodString;
        toolName: z.ZodString;
        description: z.ZodString;
        options: z.ZodOptional<z.ZodUnknown>;
        sidechainId: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>, z.ZodObject<{
        type: z.ZodLiteral<"token_count">;
        sidechainId: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>], "type">, z.ZodObject<{
        type: z.ZodString;
    }, z.core.$loose>]>>;
}, z.core.$loose>], "type">;
export type TranscriptRawAgentRecordV1 = z.infer<typeof TranscriptRawAgentRecordV1Schema>;
export {};
//# sourceMappingURL=transcriptRawRecordV1.d.ts.map