import { Context, Effect, Layer, Schema } from "effect"; /** @experimental */ export interface ModelMetadata { readonly provider: string; readonly model: string; readonly contextWindow: number; readonly maxOutput: number; readonly pricing?: { readonly inputPerMTok?: number; readonly outputPerMTok?: number; readonly cacheReadPerMTok?: number; readonly cacheWritePerMTok?: number; }; readonly modalities?: ReadonlyArray<"text" | "image" | "audio">; } declare const ModelMetadataNotFound_base: Schema.Class, import("effect/Cause").YieldableError>; /** @experimental */ export declare class ModelMetadataNotFound extends ModelMetadataNotFound_base { } /** @experimental */ export interface Interface { readonly lookup: (selection: { readonly provider: string; readonly model: string; }) => Effect.Effect; readonly require: (selection: { readonly provider: string; readonly model: string; }) => Effect.Effect; readonly all: Effect.Effect>; } declare const ModelCatalog_base: Context.ServiceClass; /** @experimental */ export declare class ModelCatalog extends ModelCatalog_base { } /** @experimental Hand-maintained static metadata snapshot. */ export declare const bundled: ReadonlyArray; /** @experimental */ export declare const layer: (overrides?: ReadonlyArray) => Layer.Layer; /** @experimental */ export declare const layerTest: (entries: ReadonlyArray) => Layer.Layer; /** @experimental */ export declare const lookup: (selection: { readonly provider: string; readonly model: string; }) => Effect.Effect; /** @experimental */ export declare const require: (selection: { readonly provider: string; readonly model: string; }) => Effect.Effect; /** @experimental */ export declare const all: () => Effect.Effect; export {};