// Auto-generated by shelley.exe.dev/cmd/go2ts.go
// Do not edit manually - regenerate with: go run ./cmd/go2ts -o ui/src/generated-types.ts

// DO NOT EDIT. This file is automatically generated.

export interface Conversation {
	conversation_id: string;
	slug: string | null;
	user_initiated: boolean;
	created_at: string;
	updated_at: string;
	cwd: string | null;
	archived: boolean;
	parent_conversation_id: string | null;
}

export interface Usage {
	input_tokens: number;
	cache_creation_input_tokens: number;
	cache_read_input_tokens: number;
	output_tokens: number;
	cost_usd: number;
	model?: string;
	start_time?: string | null;
	end_time?: string | null;
}

export interface ApiMessageForTS {
	message_id: string;
	conversation_id: string;
	sequence_id: number;
	type: string;
	llm_data?: string | null;
	user_data?: string | null;
	usage_data?: string | null;
	created_at: string;
	display_data?: string | null;
	end_of_turn?: boolean | null;
}

export interface ConversationStateForTS {
	conversation_id: string;
	working: boolean;
}

export interface StreamResponseForTS {
	messages: ApiMessageForTS[] | null;
	conversation: Conversation;
	conversation_state?: ConversationStateForTS | null;
}

export interface ConversationWithStateForTS {
	conversation_id: string;
	slug: string | null;
	user_initiated: boolean;
	created_at: string;
	updated_at: string;
	cwd: string | null;
	archived: boolean;
	parent_conversation_id: string | null;
	working: boolean;
}

export type MessageType = 'user' | 'agent' | 'tool' | 'error' | 'system' | 'gitinfo';
