import type { InbandTool } from "./types"; export interface ToolArgShape { stringArgs: Set; properties: Record; parameterOrder: string[]; } export declare function buildArgShapes(tools?: readonly InbandTool[]): Map; export declare function buildStringArgsResolver(tools?: readonly InbandTool[]): (toolName: string) => ReadonlySet; export declare function resolveToolSchema(tool: InbandTool): Record; export declare function isStringOnlySchema(schema: unknown): boolean; export declare function collectSchemaTypes(schema: unknown, out?: Set, depth?: number): Set; export declare function jsonTypeOf(value: unknown): string; export declare function decodeValue(raw: string): unknown; export declare function coerceValue(raw: string, schema: unknown): unknown; export declare function isArraySchema(schema: unknown): boolean; export declare function isObjectSchema(schema: unknown): boolean; export declare function getObjectProperties(schema: unknown): Record; export declare function getArrayItemSchema(schema: unknown): unknown; export declare function mintToolCallId(): string; export declare function partialSuffixOverlap(text: string, tag: string): number; export declare function partialSuffixOverlapAny(text: string, tags: readonly string[]): number; export declare function normalizeKimiFunctionName(rawId: string): string; export declare function asRecord(value: unknown): Record;