import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * Type discriminator indicating this is a reasoning part
 */
export declare const PartKind: {
    readonly Reasoning: "reasoning";
};
/**
 * Type discriminator indicating this is a reasoning part
 */
export type PartKind = ClosedEnum<typeof PartKind>;
/**
 * A message part containing reasoning or chain-of-thought content
 */
export type PartReasoningPart = {
    /**
     * Unique identifier for the part. Format: reasoning_{ulid} (e.g., reasoning_01hxyz...)
     */
    id: string;
    /**
     * Optional metadata associated with the message part. Can store arbitrary key-value pairs for custom data. Maximum size of 50KB and maximum of 20 keys.
     */
    metadata?: {
        [k: string]: any;
    } | undefined;
    /**
     * Type discriminator indicating this is a reasoning part
     */
    kind: PartKind;
    /**
     * The reasoning or thought process behind the response. Used for chain-of-thought or extended thinking.
     */
    reasoning: string;
    /**
     * Optional cryptographic signature to verify the authenticity and integrity of the reasoning content
     */
    signature?: string | undefined;
};
export type PartDoneEventData = {
    /**
     * Unique identifier for this part. Matches the partId from part.delta events.
     */
    partId: string;
    part?: any | undefined;
};
/**
 * Emitted when a part has been fully streamed. Contains the complete part with all content.
 */
export type PartDoneEvent = {
    type: "part.done";
    /**
     * ISO timestamp of when the event occurred
     */
    timestamp: string;
    data: PartDoneEventData;
};
/** @internal */
export declare const PartKind$inboundSchema: z.ZodNativeEnum<typeof PartKind>;
/** @internal */
export declare const PartReasoningPart$inboundSchema: z.ZodType<PartReasoningPart, z.ZodTypeDef, unknown>;
export declare function partReasoningPartFromJSON(jsonString: string): SafeParseResult<PartReasoningPart, SDKValidationError>;
/** @internal */
export declare const PartDoneEventData$inboundSchema: z.ZodType<PartDoneEventData, z.ZodTypeDef, unknown>;
export declare function partDoneEventDataFromJSON(jsonString: string): SafeParseResult<PartDoneEventData, SDKValidationError>;
/** @internal */
export declare const PartDoneEvent$inboundSchema: z.ZodType<PartDoneEvent, z.ZodTypeDef, unknown>;
export declare function partDoneEventFromJSON(jsonString: string): SafeParseResult<PartDoneEvent, SDKValidationError>;
//# sourceMappingURL=partdoneevent.d.ts.map