/** * Branded Types for Type-Safe Identifiers * * Provides compile-time safety by creating distinct types for strings/numbers * that represent different concepts (e.g., model names vs provider IDs). */ declare const __brand: unique symbol; /** * Creates a branded type from a base type */ type Brand = K & { readonly [__brand]: T; }; /** A validated model name identifier */ export type ModelName = Brand; /** A token count (always non-negative) */ export type TokenCount = Brand; /** A provider identifier */ export type ProviderID = Brand; /** A prompt template name */ export type PromptName = Brand; /** Milliseconds duration */ export type Milliseconds = Brand; /** * Create a type-safe model name */ export declare function modelName(name: string): ModelName; /** * Create a type-safe token count */ export declare function tokenCount(count: number): TokenCount; /** * Create a type-safe provider ID */ export declare function providerID(id: string): ProviderID; /** * Create a type-safe prompt name */ export declare function promptName(name: string): PromptName; /** * Create a type-safe milliseconds value */ export declare function milliseconds(ms: number): Milliseconds; /** * Check if a value is a valid model name (string check only, no branding) */ export declare function isValidModelName(value: unknown): value is string; /** * Check if a value is a valid token count */ export declare function isValidTokenCount(value: unknown): value is number; export {}; //# sourceMappingURL=branded.d.ts.map