import type { FromSchema } from 'json-schema-to-ts';
import type { PropertySchema } from '../../project-schema/latest.ts';
import type { CreateShapeSchemaParams } from './types.ts';
export declare const schema: {
    readonly type: "object";
    readonly properties: {
        readonly session: {
            readonly properties: {
                readonly id: {
                    readonly type: "string";
                    readonly description: "The unique identifier for the agent session.";
                };
                readonly createdAt: {
                    readonly type: "string";
                    readonly description: "ISO8601 timestamp when the agent session was created";
                    readonly format: "date-time";
                };
                readonly updatedAt: {
                    readonly type: "string";
                    readonly description: "ISO8601 timestamp when the agent session was updated";
                    readonly format: "date-time";
                };
                readonly agentName: {
                    readonly type: "string";
                    readonly description: "The name of the agent associated with this session.";
                };
                readonly projectId: {
                    readonly type: "string";
                    readonly description: "The ID of the project to which this agent session belongs.";
                };
                readonly schemaId: {
                    readonly type: "string";
                    readonly description: "The schema ID associated with the agent session, typically in the format \"production~projectId\".";
                };
                readonly schemaHash: {
                    readonly type: "string";
                    readonly description: "The hash of the schema version associated with the agent session.";
                };
                readonly done: {
                    readonly type: "boolean";
                    readonly description: "Indicates whether the agent session is completed.";
                };
                readonly suspended: {
                    readonly type: "boolean";
                    readonly description: "Indicates whether the agent session is suspended.";
                };
                readonly previousStateId: {
                    readonly type: "string";
                    readonly description: "The ID of the previous state in the agent session, if any.";
                };
                readonly currentStateId: {
                    readonly type: "string";
                    readonly description: "The ID of the current state in the agent session.";
                };
                readonly sessionMemory: {
                    readonly type: "object";
                    readonly description: "Memory associated with the agent session, which can be used to store stateful information.";
                };
                readonly hasAgentHistory: {
                    readonly type: "boolean";
                    readonly description: "Indicates whether the agent session has an associated history of agent responses.";
                };
                readonly hasFeedback: {
                    readonly type: "boolean";
                    readonly description: "Indicates whether the agent session has any messages with feedback.";
                };
                readonly suspend: {
                    readonly type: "boolean";
                    readonly description: "Indicates whether the agent session is suspended.";
                };
                readonly suspendedTransitionIndices: {
                    readonly type: "array";
                    readonly description: "An array of indices of suspended transitions in the agent session.";
                    readonly items: {
                        readonly type: "integer";
                    };
                };
                readonly firstMessageInput: {
                    readonly title: "TSAgentMessageInput";
                    readonly description: "The input schema for agent messages.";
                    readonly discriminator: {
                        readonly propertyName: "type";
                    };
                    readonly oneOf: [{
                        readonly title: "TSAgentMessageUnknownInput";
                        readonly type: "object";
                        readonly properties: {
                            readonly type: {
                                readonly const: "unknown";
                            };
                            readonly data: {};
                        };
                        readonly required: ["type", "data"];
                        readonly additionalProperties: false;
                    }, {
                        readonly title: "TSAgentMessageStringInput";
                        readonly type: "object";
                        readonly properties: {
                            readonly type: {
                                readonly const: "string";
                            };
                            readonly content: {
                                readonly type: "string";
                            };
                        };
                        readonly required: ["type", "content"];
                        readonly additionalProperties: false;
                    }];
                };
                readonly lastMessageOutput: {
                    readonly title: "TSAgentMessageOutput";
                    readonly description: "The output schema for agent messages.";
                    readonly discriminator: {
                        readonly propertyName: "type";
                    };
                    readonly oneOf: [{
                        readonly title: "TSAgentGenerateStateOutput";
                        readonly type: "object";
                        readonly properties: {
                            readonly type: {
                                readonly const: "generate";
                            };
                            readonly data: {};
                        };
                        readonly required: ["type", "data"];
                        readonly additionalProperties: false;
                    }, {
                        readonly title: "TSAgentGraphQLStateOutput";
                        readonly type: "object";
                        readonly properties: {
                            readonly type: {
                                readonly const: "graphql";
                            };
                            readonly data: {};
                        };
                        readonly required: ["type", "data"];
                        readonly additionalProperties: false;
                    }, {
                        readonly title: "TSAgentChatStateOutput";
                        readonly type: "object";
                        readonly properties: {
                            readonly type: {
                                readonly const: "chat";
                            };
                            readonly data: {
                                readonly type: "object";
                                readonly properties: {
                                    readonly content: {
                                        readonly type: "string";
                                    };
                                    readonly artifact: {
                                        readonly type: "object";
                                    };
                                    readonly references: {
                                        readonly type: "array";
                                        readonly items: {
                                            readonly type: "object";
                                            readonly properties: {
                                                readonly _tid: {
                                                    readonly type: "string";
                                                };
                                            };
                                            readonly required: ["_tid"];
                                            readonly additionalProperties: false;
                                        };
                                    };
                                };
                                readonly required: ["content", "references"];
                                readonly additionalProperties: false;
                            };
                        };
                        readonly required: ["type", "data"];
                        readonly additionalProperties: false;
                    }, {
                        readonly title: "TSAgentUnknownStateOutput";
                        readonly type: "object";
                        readonly properties: {
                            readonly type: {
                                readonly const: "unknown";
                            };
                            readonly data: {};
                        };
                        readonly required: ["type", "data"];
                        readonly additionalProperties: false;
                    }];
                };
                readonly totalTokens: {
                    readonly type: "number";
                    readonly description: "The total number of tokens used in the agent session.";
                };
                readonly domain: {
                    readonly type: "string";
                    readonly description: "The domain from which the agent session was created (e.g., \"shop.example.com\", \"app.takeshape.io\").";
                };
                readonly takeshapeUserId: {
                    readonly type: "string";
                    readonly description: "The TakeShape user ID if the session was created by a TakeShape user (via JWT or PAT).";
                };
                readonly usage: {
                    readonly type: "array";
                    readonly description: "Itemized token usage breakdown by service and model across all messages";
                    readonly items: {
                        readonly title: "TSAiUsageItem";
                        readonly type: "object";
                        readonly description: "Token usage breakdown for a single service and model";
                        readonly properties: {
                            readonly service: {
                                readonly type: "string";
                                readonly description: "The AI service provider (e.g., \"openai\", \"anthropic\")";
                            };
                            readonly model: {
                                readonly type: "string";
                                readonly description: "The model identifier (e.g., \"gpt-4\", \"claude-3-opus\")";
                            };
                            readonly inputTokens: {
                                readonly type: "number";
                                readonly description: "Number of input/prompt tokens consumed";
                            };
                            readonly outputTokens: {
                                readonly type: "number";
                                readonly description: "Number of output/completion tokens generated";
                            };
                            readonly totalTokens: {
                                readonly type: "number";
                                readonly description: "Total tokens (input + output)";
                            };
                            readonly inputTokenDetails: {
                                readonly type: "object";
                                readonly description: "Detailed breakdown of input token usage";
                                readonly properties: {
                                    readonly noCacheTokens: {
                                        readonly type: "number";
                                        readonly description: "Tokens not using cache";
                                    };
                                    readonly cacheReadTokens: {
                                        readonly type: "number";
                                        readonly description: "Tokens served from cache";
                                    };
                                    readonly cacheWriteTokens: {
                                        readonly type: "number";
                                        readonly description: "Tokens written to cache";
                                    };
                                };
                            };
                            readonly outputTokenDetails: {
                                readonly type: "object";
                                readonly description: "Detailed breakdown of output token usage";
                                readonly properties: {
                                    readonly textTokens: {
                                        readonly type: "number";
                                        readonly description: "Regular text output tokens";
                                    };
                                    readonly reasoningTokens: {
                                        readonly type: "number";
                                        readonly description: "Extended thinking tokens";
                                    };
                                };
                            };
                            readonly guardrailUnits: {
                                readonly type: "number";
                                readonly description: "Number of guardrail units consumed";
                            };
                        };
                        readonly required: ["service", "model"];
                        readonly additionalProperties: false;
                    };
                };
            };
            readonly required: ["id", "agentName", "createdAt", "updatedAt", "done", "currentStateId", "sessionMemory", "hasAgentHistory", "hasFeedback", "suspend", "projectId", "schemaId", "schemaHash", "totalTokens"];
            readonly additionalProperties: false;
            readonly title: "TSAgentSession";
            readonly type: "object";
        };
        readonly aborted: {
            readonly type: "boolean";
            readonly description: "Indicates if the deferred message was aborted";
        };
        readonly duration: {
            readonly type: "number";
            readonly description: "Duration of the deferred message processing in milliseconds";
        };
        readonly status: {
            readonly enum: ["PENDING", "RUNNING", "DONE"];
            readonly description: "The processing status of the agent message";
        };
        readonly messageId: {
            readonly type: "string";
            readonly description: "ID of the message that was deferred";
        };
        readonly agentName: {
            readonly type: "string";
            readonly description: "Name of the agent this message was created by";
        };
        readonly args: {
            readonly type: "object";
        };
        readonly input: {
            readonly title: "TSAgentMessageInput";
            readonly description: "The input schema for agent messages.";
            readonly discriminator: {
                readonly propertyName: "type";
            };
            readonly oneOf: [{
                readonly title: "TSAgentMessageUnknownInput";
                readonly type: "object";
                readonly properties: {
                    readonly type: {
                        readonly const: "unknown";
                    };
                    readonly data: {};
                };
                readonly required: ["type", "data"];
                readonly additionalProperties: false;
            }, {
                readonly title: "TSAgentMessageStringInput";
                readonly type: "object";
                readonly properties: {
                    readonly type: {
                        readonly const: "string";
                    };
                    readonly content: {
                        readonly type: "string";
                    };
                };
                readonly required: ["type", "content"];
                readonly additionalProperties: false;
            }];
        };
        readonly output: {
            readonly title: "TSAgentMessageOutput";
            readonly description: "The output schema for agent messages.";
            readonly discriminator: {
                readonly propertyName: "type";
            };
            readonly oneOf: [{
                readonly title: "TSAgentGenerateStateOutput";
                readonly type: "object";
                readonly properties: {
                    readonly type: {
                        readonly const: "generate";
                    };
                    readonly data: {};
                };
                readonly required: ["type", "data"];
                readonly additionalProperties: false;
            }, {
                readonly title: "TSAgentGraphQLStateOutput";
                readonly type: "object";
                readonly properties: {
                    readonly type: {
                        readonly const: "graphql";
                    };
                    readonly data: {};
                };
                readonly required: ["type", "data"];
                readonly additionalProperties: false;
            }, {
                readonly title: "TSAgentChatStateOutput";
                readonly type: "object";
                readonly properties: {
                    readonly type: {
                        readonly const: "chat";
                    };
                    readonly data: {
                        readonly type: "object";
                        readonly properties: {
                            readonly content: {
                                readonly type: "string";
                            };
                            readonly artifact: {
                                readonly type: "object";
                            };
                            readonly references: {
                                readonly type: "array";
                                readonly items: {
                                    readonly type: "object";
                                    readonly properties: {
                                        readonly _tid: {
                                            readonly type: "string";
                                        };
                                    };
                                    readonly required: ["_tid"];
                                    readonly additionalProperties: false;
                                };
                            };
                        };
                        readonly required: ["content", "references"];
                        readonly additionalProperties: false;
                    };
                };
                readonly required: ["type", "data"];
                readonly additionalProperties: false;
            }, {
                readonly title: "TSAgentUnknownStateOutput";
                readonly type: "object";
                readonly properties: {
                    readonly type: {
                        readonly const: "unknown";
                    };
                    readonly data: {};
                };
                readonly required: ["type", "data"];
                readonly additionalProperties: false;
            }];
        };
        readonly error: {
            readonly type: "object";
            readonly properties: {
                readonly message: {
                    readonly type: "string";
                };
                readonly name: {
                    readonly type: "string";
                };
                readonly code: {
                    readonly type: "string";
                };
            };
            readonly additionalProperties: false;
        };
        readonly runMode: {
            readonly enum: ["BACKGROUND", "IMMEDIATE"];
            readonly description: "Indicates how the agent message was run";
        };
        readonly abortedAt: {
            readonly type: "number";
            readonly description: "Timestamp when the message was aborted";
        };
        readonly sentAt: {
            readonly type: "number";
            readonly description: "Timestamp when the message was sent";
        };
        readonly startedAt: {
            readonly type: "number";
            readonly description: "Timestamp when the message started processing";
        };
        readonly finishedAt: {
            readonly type: "number";
            readonly description: "Timestamp when the message finished processing";
        };
        readonly span: {
            readonly type: "object";
            readonly description: "The span for the agent run associated with this message";
            readonly properties: {
                readonly traceId: {
                    readonly type: "string";
                };
                readonly spanId: {
                    readonly type: "string";
                };
                readonly name: {
                    readonly type: "string";
                };
                readonly createdAt: {
                    readonly type: "number";
                };
            };
            readonly required: ["traceId", "spanId", "name", "createdAt"];
            readonly additionalProperties: false;
        };
        readonly feedback: {
            readonly type: "object";
            readonly properties: {
                readonly name: {
                    readonly type: "string";
                    readonly description: "Name of the feedback, e.g., \"Quality\", \"Relevance\"";
                };
                readonly label: {
                    readonly type: "string";
                    readonly description: "String feedback for the agent message, e.g., \"helpful\", \"not helpful\". If a label is provided, a score must not be provided.";
                };
                readonly score: {
                    readonly type: "number";
                    readonly description: "Numeric feedback for the agent message, typically between 1 and 5. If a score is provided, a label must not be provided.";
                };
                readonly text: {
                    readonly type: "string";
                    readonly description: "Freeform text feedback for the agent message.";
                };
                readonly note: {
                    readonly type: "string";
                    readonly description: "Optional note for the feedback, e.g., \"This was helpful because...\"";
                };
                readonly updatedBy: {
                    readonly type: "string";
                    readonly description: "A string identifying the user who is adding the annotation, such as a name or email address.";
                };
                readonly createdAt: {
                    readonly type: "number";
                    readonly description: "Timestamp when the feedback was created";
                };
            };
            readonly additionalProperties: false;
            readonly required: ["name"];
        };
        readonly blocked: {
            readonly type: "boolean";
            readonly description: "If this message was blocked by a guardrail";
        };
        readonly usage: {
            readonly type: "array";
            readonly description: "Itemized token usage breakdown by service and model";
            readonly items: {
                readonly title: "TSAiUsageItem";
                readonly type: "object";
                readonly description: "Token usage breakdown for a single service and model";
                readonly properties: {
                    readonly service: {
                        readonly type: "string";
                        readonly description: "The AI service provider (e.g., \"openai\", \"anthropic\")";
                    };
                    readonly model: {
                        readonly type: "string";
                        readonly description: "The model identifier (e.g., \"gpt-4\", \"claude-3-opus\")";
                    };
                    readonly inputTokens: {
                        readonly type: "number";
                        readonly description: "Number of input/prompt tokens consumed";
                    };
                    readonly outputTokens: {
                        readonly type: "number";
                        readonly description: "Number of output/completion tokens generated";
                    };
                    readonly totalTokens: {
                        readonly type: "number";
                        readonly description: "Total tokens (input + output)";
                    };
                    readonly inputTokenDetails: {
                        readonly type: "object";
                        readonly description: "Detailed breakdown of input token usage";
                        readonly properties: {
                            readonly noCacheTokens: {
                                readonly type: "number";
                                readonly description: "Tokens not using cache";
                            };
                            readonly cacheReadTokens: {
                                readonly type: "number";
                                readonly description: "Tokens served from cache";
                            };
                            readonly cacheWriteTokens: {
                                readonly type: "number";
                                readonly description: "Tokens written to cache";
                            };
                        };
                    };
                    readonly outputTokenDetails: {
                        readonly type: "object";
                        readonly description: "Detailed breakdown of output token usage";
                        readonly properties: {
                            readonly textTokens: {
                                readonly type: "number";
                                readonly description: "Regular text output tokens";
                            };
                            readonly reasoningTokens: {
                                readonly type: "number";
                                readonly description: "Extended thinking tokens";
                            };
                        };
                    };
                    readonly guardrailUnits: {
                        readonly type: "number";
                        readonly description: "Number of guardrail units consumed";
                    };
                };
                readonly required: ["service", "model"];
                readonly additionalProperties: false;
            };
        };
    };
    readonly required: ["messageId", "status"];
    readonly additionalProperties: true;
};
export type GetAgentMessageResponse = FromSchema<typeof schema>;
export declare const userSchema: {
    readonly properties: {
        readonly session: {
            readonly properties: {
                readonly id: {
                    readonly type: "string";
                    readonly description: "The unique identifier for the agent session.";
                };
                readonly createdAt: {
                    readonly type: "string";
                    readonly description: "ISO8601 timestamp when the agent session was created";
                    readonly format: "date-time";
                };
                readonly updatedAt: {
                    readonly type: "string";
                    readonly description: "ISO8601 timestamp when the agent session was updated";
                    readonly format: "date-time";
                };
                readonly agentName: {
                    readonly type: "string";
                    readonly description: "The name of the agent associated with this session.";
                };
                readonly done: {
                    readonly type: "boolean";
                    readonly description: "Indicates whether the agent session is completed.";
                };
                readonly suspended: {
                    readonly type: "boolean";
                    readonly description: "Indicates whether the agent session is suspended.";
                };
                readonly currentStateId: {
                    readonly type: "string";
                    readonly description: "The ID of the current state in the agent session.";
                };
                readonly sessionMemory: {
                    readonly type: "object";
                    readonly description: "Memory associated with the agent session, which can be used to store stateful information.";
                };
                readonly hasAgentHistory: {
                    readonly type: "boolean";
                    readonly description: "Indicates whether the agent session has an associated history of agent responses.";
                };
                readonly hasFeedback: {
                    readonly type: "boolean";
                    readonly description: "Indicates whether the agent session has any messages with feedback.";
                };
                readonly suspend: {
                    readonly type: "boolean";
                    readonly description: "Indicates whether the agent session is suspended.";
                };
                readonly totalTokens: {
                    readonly type: "number";
                    readonly description: "The total number of tokens used in the agent session.";
                };
                readonly domain: {
                    readonly type: "string";
                    readonly description: "The domain from which the agent session was created (e.g., \"shop.example.com\", \"app.takeshape.io\").";
                };
                readonly takeshapeUserId: {
                    readonly type: "string";
                    readonly description: "The TakeShape user ID if the session was created by a TakeShape user (via JWT or PAT).";
                };
                readonly usage: {
                    readonly type: "array";
                    readonly description: "Itemized token usage breakdown by service and model across all messages";
                    readonly items: {
                        readonly title: "TSAiUsageItem";
                        readonly type: "object";
                        readonly description: "Token usage breakdown for a single service and model";
                        readonly properties: {
                            readonly service: {
                                readonly type: "string";
                                readonly description: "The AI service provider (e.g., \"openai\", \"anthropic\")";
                            };
                            readonly model: {
                                readonly type: "string";
                                readonly description: "The model identifier (e.g., \"gpt-4\", \"claude-3-opus\")";
                            };
                            readonly inputTokens: {
                                readonly type: "number";
                                readonly description: "Number of input/prompt tokens consumed";
                            };
                            readonly outputTokens: {
                                readonly type: "number";
                                readonly description: "Number of output/completion tokens generated";
                            };
                            readonly totalTokens: {
                                readonly type: "number";
                                readonly description: "Total tokens (input + output)";
                            };
                            readonly inputTokenDetails: {
                                readonly type: "object";
                                readonly description: "Detailed breakdown of input token usage";
                                readonly properties: {
                                    readonly noCacheTokens: {
                                        readonly type: "number";
                                        readonly description: "Tokens not using cache";
                                    };
                                    readonly cacheReadTokens: {
                                        readonly type: "number";
                                        readonly description: "Tokens served from cache";
                                    };
                                    readonly cacheWriteTokens: {
                                        readonly type: "number";
                                        readonly description: "Tokens written to cache";
                                    };
                                };
                            };
                            readonly outputTokenDetails: {
                                readonly type: "object";
                                readonly description: "Detailed breakdown of output token usage";
                                readonly properties: {
                                    readonly textTokens: {
                                        readonly type: "number";
                                        readonly description: "Regular text output tokens";
                                    };
                                    readonly reasoningTokens: {
                                        readonly type: "number";
                                        readonly description: "Extended thinking tokens";
                                    };
                                };
                            };
                            readonly guardrailUnits: {
                                readonly type: "number";
                                readonly description: "Number of guardrail units consumed";
                            };
                        };
                        readonly required: ["service", "model"];
                        readonly additionalProperties: false;
                    };
                };
            };
            readonly required: ["id", "agentName", "createdAt", "updatedAt", "done", "sessionMemory", "hasAgentHistory", "hasFeedback", "suspend", "currentStateId", "totalTokens"];
            readonly additionalProperties: false;
            readonly title: "TSAgentSession";
            readonly type: "object";
        };
        readonly aborted: {
            readonly type: "boolean";
            readonly description: "Indicates if the deferred message was aborted";
        };
        readonly duration: {
            readonly type: "number";
            readonly description: "Duration of the deferred message processing in milliseconds";
        };
        readonly status: {
            readonly enum: ["PENDING", "RUNNING", "DONE"];
            readonly description: "The processing status of the agent message";
        };
        readonly input: {};
        readonly output: {};
        readonly messageId: {
            readonly type: "string";
            readonly description: "ID of the message that was deferred";
        };
        readonly agentName: {
            readonly type: "string";
            readonly description: "Name of the agent this message was created by";
        };
        readonly args: {
            readonly type: "object";
        };
        readonly error: {
            readonly type: "object";
            readonly properties: {
                readonly message: {
                    readonly type: "string";
                };
                readonly name: {
                    readonly type: "string";
                };
                readonly code: {
                    readonly type: "string";
                };
            };
            readonly additionalProperties: false;
        };
        readonly runMode: {
            readonly enum: ["BACKGROUND", "IMMEDIATE"];
            readonly description: "Indicates how the agent message was run";
        };
        readonly abortedAt: {
            readonly type: "number";
            readonly description: "Timestamp when the message was aborted";
        };
        readonly sentAt: {
            readonly type: "number";
            readonly description: "Timestamp when the message was sent";
        };
        readonly startedAt: {
            readonly type: "number";
            readonly description: "Timestamp when the message started processing";
        };
        readonly finishedAt: {
            readonly type: "number";
            readonly description: "Timestamp when the message finished processing";
        };
        readonly span: {
            readonly type: "object";
            readonly description: "The span for the agent run associated with this message";
            readonly properties: {
                readonly traceId: {
                    readonly type: "string";
                };
                readonly spanId: {
                    readonly type: "string";
                };
                readonly name: {
                    readonly type: "string";
                };
                readonly createdAt: {
                    readonly type: "number";
                };
            };
            readonly required: ["traceId", "spanId", "name", "createdAt"];
            readonly additionalProperties: false;
        };
        readonly feedback: {
            readonly type: "object";
            readonly properties: {
                readonly name: {
                    readonly type: "string";
                    readonly description: "Name of the feedback, e.g., \"Quality\", \"Relevance\"";
                };
                readonly label: {
                    readonly type: "string";
                    readonly description: "String feedback for the agent message, e.g., \"helpful\", \"not helpful\". If a label is provided, a score must not be provided.";
                };
                readonly score: {
                    readonly type: "number";
                    readonly description: "Numeric feedback for the agent message, typically between 1 and 5. If a score is provided, a label must not be provided.";
                };
                readonly text: {
                    readonly type: "string";
                    readonly description: "Freeform text feedback for the agent message.";
                };
                readonly note: {
                    readonly type: "string";
                    readonly description: "Optional note for the feedback, e.g., \"This was helpful because...\"";
                };
                readonly updatedBy: {
                    readonly type: "string";
                    readonly description: "A string identifying the user who is adding the annotation, such as a name or email address.";
                };
                readonly createdAt: {
                    readonly type: "number";
                    readonly description: "Timestamp when the feedback was created";
                };
            };
            readonly additionalProperties: false;
            readonly required: ["name"];
        };
        readonly blocked: {
            readonly type: "boolean";
            readonly description: "If this message was blocked by a guardrail";
        };
        readonly usage: {
            readonly type: "array";
            readonly description: "Itemized token usage breakdown by service and model";
            readonly items: {
                readonly title: "TSAiUsageItem";
                readonly type: "object";
                readonly description: "Token usage breakdown for a single service and model";
                readonly properties: {
                    readonly service: {
                        readonly type: "string";
                        readonly description: "The AI service provider (e.g., \"openai\", \"anthropic\")";
                    };
                    readonly model: {
                        readonly type: "string";
                        readonly description: "The model identifier (e.g., \"gpt-4\", \"claude-3-opus\")";
                    };
                    readonly inputTokens: {
                        readonly type: "number";
                        readonly description: "Number of input/prompt tokens consumed";
                    };
                    readonly outputTokens: {
                        readonly type: "number";
                        readonly description: "Number of output/completion tokens generated";
                    };
                    readonly totalTokens: {
                        readonly type: "number";
                        readonly description: "Total tokens (input + output)";
                    };
                    readonly inputTokenDetails: {
                        readonly type: "object";
                        readonly description: "Detailed breakdown of input token usage";
                        readonly properties: {
                            readonly noCacheTokens: {
                                readonly type: "number";
                                readonly description: "Tokens not using cache";
                            };
                            readonly cacheReadTokens: {
                                readonly type: "number";
                                readonly description: "Tokens served from cache";
                            };
                            readonly cacheWriteTokens: {
                                readonly type: "number";
                                readonly description: "Tokens written to cache";
                            };
                        };
                    };
                    readonly outputTokenDetails: {
                        readonly type: "object";
                        readonly description: "Detailed breakdown of output token usage";
                        readonly properties: {
                            readonly textTokens: {
                                readonly type: "number";
                                readonly description: "Regular text output tokens";
                            };
                            readonly reasoningTokens: {
                                readonly type: "number";
                                readonly description: "Extended thinking tokens";
                            };
                        };
                    };
                    readonly guardrailUnits: {
                        readonly type: "number";
                        readonly description: "Number of guardrail units consumed";
                    };
                };
                readonly required: ["service", "model"];
                readonly additionalProperties: false;
            };
        };
    };
    readonly additionalProperties: false;
    readonly type: "object";
    readonly required: ["messageId", "status"];
};
export type GetAgentMessageUserResponse = FromSchema<typeof userSchema>;
export declare const shapeSchema: {
    readonly properties: {
        readonly session: {
            readonly properties: {
                readonly usage: {
                    readonly type: "array";
                    readonly description: "Itemized token usage breakdown by service and model across all messages";
                    readonly items: {
                        readonly '@ref': "TSAiUsageItem";
                    };
                };
                readonly id: {
                    readonly type: "string";
                    readonly description: "The unique identifier for the agent session.";
                };
                readonly createdAt: {
                    readonly type: "string";
                    readonly description: "ISO8601 timestamp when the agent session was created";
                    readonly format: "date-time";
                };
                readonly updatedAt: {
                    readonly type: "string";
                    readonly description: "ISO8601 timestamp when the agent session was updated";
                    readonly format: "date-time";
                };
                readonly agentName: {
                    readonly type: "string";
                    readonly description: "The name of the agent associated with this session.";
                };
                readonly done: {
                    readonly type: "boolean";
                    readonly description: "Indicates whether the agent session is completed.";
                };
                readonly suspended: {
                    readonly type: "boolean";
                    readonly description: "Indicates whether the agent session is suspended.";
                };
                readonly currentStateId: {
                    readonly type: "string";
                    readonly description: "The ID of the current state in the agent session.";
                };
                readonly sessionMemory: {
                    readonly type: "object";
                    readonly description: "Memory associated with the agent session, which can be used to store stateful information.";
                };
                readonly hasAgentHistory: {
                    readonly type: "boolean";
                    readonly description: "Indicates whether the agent session has an associated history of agent responses.";
                };
                readonly hasFeedback: {
                    readonly type: "boolean";
                    readonly description: "Indicates whether the agent session has any messages with feedback.";
                };
                readonly suspend: {
                    readonly type: "boolean";
                    readonly description: "Indicates whether the agent session is suspended.";
                };
                readonly totalTokens: {
                    readonly type: "number";
                    readonly description: "The total number of tokens used in the agent session.";
                };
                readonly domain: {
                    readonly type: "string";
                    readonly description: "The domain from which the agent session was created (e.g., \"shop.example.com\", \"app.takeshape.io\").";
                };
                readonly takeshapeUserId: {
                    readonly type: "string";
                    readonly description: "The TakeShape user ID if the session was created by a TakeShape user (via JWT or PAT).";
                };
            };
            readonly required: ["id", "agentName", "createdAt", "updatedAt", "done", "sessionMemory", "hasAgentHistory", "hasFeedback", "suspend", "currentStateId", "totalTokens"];
            readonly additionalProperties: false;
            readonly title: "TSAgentSession";
            readonly type: "object";
        };
        readonly aborted: {
            readonly type: "boolean";
            readonly description: "Indicates if the deferred message was aborted";
        };
        readonly duration: {
            readonly type: "number";
            readonly description: "Duration of the deferred message processing in milliseconds";
        };
        readonly status: {
            readonly enum: ["PENDING", "RUNNING", "DONE"];
            readonly description: "The processing status of the agent message";
        };
        readonly input: {};
        readonly output: {};
        readonly usage: {
            readonly type: "array";
            readonly description: "Itemized token usage breakdown by service and model";
            readonly items: {
                readonly '@ref': "TSAiUsageItem";
            };
        };
        readonly messageId: {
            readonly type: "string";
            readonly description: "ID of the message that was deferred";
        };
        readonly agentName: {
            readonly type: "string";
            readonly description: "Name of the agent this message was created by";
        };
        readonly args: {
            readonly type: "object";
        };
        readonly error: {
            readonly type: "object";
            readonly properties: {
                readonly message: {
                    readonly type: "string";
                };
                readonly name: {
                    readonly type: "string";
                };
                readonly code: {
                    readonly type: "string";
                };
            };
            readonly additionalProperties: false;
        };
        readonly runMode: {
            readonly enum: ["BACKGROUND", "IMMEDIATE"];
            readonly description: "Indicates how the agent message was run";
        };
        readonly abortedAt: {
            readonly type: "number";
            readonly description: "Timestamp when the message was aborted";
        };
        readonly sentAt: {
            readonly type: "number";
            readonly description: "Timestamp when the message was sent";
        };
        readonly startedAt: {
            readonly type: "number";
            readonly description: "Timestamp when the message started processing";
        };
        readonly finishedAt: {
            readonly type: "number";
            readonly description: "Timestamp when the message finished processing";
        };
        readonly span: {
            readonly type: "object";
            readonly description: "The span for the agent run associated with this message";
            readonly properties: {
                readonly traceId: {
                    readonly type: "string";
                };
                readonly spanId: {
                    readonly type: "string";
                };
                readonly name: {
                    readonly type: "string";
                };
                readonly createdAt: {
                    readonly type: "number";
                };
            };
            readonly required: ["traceId", "spanId", "name", "createdAt"];
            readonly additionalProperties: false;
        };
        readonly feedback: {
            readonly type: "object";
            readonly properties: {
                readonly name: {
                    readonly type: "string";
                    readonly description: "Name of the feedback, e.g., \"Quality\", \"Relevance\"";
                };
                readonly label: {
                    readonly type: "string";
                    readonly description: "String feedback for the agent message, e.g., \"helpful\", \"not helpful\". If a label is provided, a score must not be provided.";
                };
                readonly score: {
                    readonly type: "number";
                    readonly description: "Numeric feedback for the agent message, typically between 1 and 5. If a score is provided, a label must not be provided.";
                };
                readonly text: {
                    readonly type: "string";
                    readonly description: "Freeform text feedback for the agent message.";
                };
                readonly note: {
                    readonly type: "string";
                    readonly description: "Optional note for the feedback, e.g., \"This was helpful because...\"";
                };
                readonly updatedBy: {
                    readonly type: "string";
                    readonly description: "A string identifying the user who is adding the annotation, such as a name or email address.";
                };
                readonly createdAt: {
                    readonly type: "number";
                    readonly description: "Timestamp when the feedback was created";
                };
            };
            readonly additionalProperties: false;
            readonly required: ["name"];
        };
        readonly blocked: {
            readonly type: "boolean";
            readonly description: "If this message was blocked by a guardrail";
        };
    };
    readonly additionalProperties: false;
    readonly type: "object";
    readonly required: ["messageId", "status"];
};
export declare function createUserShapeSchema(params?: CreateShapeSchemaParams): {
    properties: {
        session: {
            '@ref': string;
        };
        input: {
            '@ref': string;
        };
        output: PropertySchema | import("../../project-schema/latest.ts").RefSchema;
        aborted: {
            readonly type: "boolean";
            readonly description: "Indicates if the deferred message was aborted";
        };
        duration: {
            readonly type: "number";
            readonly description: "Duration of the deferred message processing in milliseconds";
        };
        status: {
            readonly enum: ["PENDING", "RUNNING", "DONE"];
            readonly description: "The processing status of the agent message";
        };
        usage: {
            readonly type: "array";
            readonly description: "Itemized token usage breakdown by service and model";
            readonly items: {
                readonly '@ref': "TSAiUsageItem";
            };
        };
        messageId: {
            readonly type: "string";
            readonly description: "ID of the message that was deferred";
        };
        agentName: {
            readonly type: "string";
            readonly description: "Name of the agent this message was created by";
        };
        args: {
            readonly type: "object";
        };
        error: {
            readonly type: "object";
            readonly properties: {
                readonly message: {
                    readonly type: "string";
                };
                readonly name: {
                    readonly type: "string";
                };
                readonly code: {
                    readonly type: "string";
                };
            };
            readonly additionalProperties: false;
        };
        runMode: {
            readonly enum: ["BACKGROUND", "IMMEDIATE"];
            readonly description: "Indicates how the agent message was run";
        };
        abortedAt: {
            readonly type: "number";
            readonly description: "Timestamp when the message was aborted";
        };
        sentAt: {
            readonly type: "number";
            readonly description: "Timestamp when the message was sent";
        };
        startedAt: {
            readonly type: "number";
            readonly description: "Timestamp when the message started processing";
        };
        finishedAt: {
            readonly type: "number";
            readonly description: "Timestamp when the message finished processing";
        };
        span: {
            readonly type: "object";
            readonly description: "The span for the agent run associated with this message";
            readonly properties: {
                readonly traceId: {
                    readonly type: "string";
                };
                readonly spanId: {
                    readonly type: "string";
                };
                readonly name: {
                    readonly type: "string";
                };
                readonly createdAt: {
                    readonly type: "number";
                };
            };
            readonly required: ["traceId", "spanId", "name", "createdAt"];
            readonly additionalProperties: false;
        };
        feedback: {
            readonly type: "object";
            readonly properties: {
                readonly name: {
                    readonly type: "string";
                    readonly description: "Name of the feedback, e.g., \"Quality\", \"Relevance\"";
                };
                readonly label: {
                    readonly type: "string";
                    readonly description: "String feedback for the agent message, e.g., \"helpful\", \"not helpful\". If a label is provided, a score must not be provided.";
                };
                readonly score: {
                    readonly type: "number";
                    readonly description: "Numeric feedback for the agent message, typically between 1 and 5. If a score is provided, a label must not be provided.";
                };
                readonly text: {
                    readonly type: "string";
                    readonly description: "Freeform text feedback for the agent message.";
                };
                readonly note: {
                    readonly type: "string";
                    readonly description: "Optional note for the feedback, e.g., \"This was helpful because...\"";
                };
                readonly updatedBy: {
                    readonly type: "string";
                    readonly description: "A string identifying the user who is adding the annotation, such as a name or email address.";
                };
                readonly createdAt: {
                    readonly type: "number";
                    readonly description: "Timestamp when the feedback was created";
                };
            };
            readonly additionalProperties: false;
            readonly required: ["name"];
        };
        blocked: {
            readonly type: "boolean";
            readonly description: "If this message was blocked by a guardrail";
        };
    };
    additionalProperties: false;
    type: "object";
    required: ["messageId", "status"];
};
export declare function createUserShapeName(agentName: string): string;
