/* tslint:disable */
/* eslint-disable */
/**
 * Fabro Run API
 * HTTP API for managing Fabro workflow run executions.
 *
 * The version of the OpenAPI document: 0.2.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


// May contain unused imports in some cases
// @ts-ignore
import type { ModelControls } from './model-controls';
// May contain unused imports in some cases
// @ts-ignore
import type { ModelCosts } from './model-costs';
// May contain unused imports in some cases
// @ts-ignore
import type { ModelFeatures } from './model-features';
// May contain unused imports in some cases
// @ts-ignore
import type { ModelLimits } from './model-limits';

/**
 * One provider\'s offering of an LLM model. The `id` is unique within `provider`; `(provider, id)` is the stable resource identity.
 */
export interface Model {
    /**
     * Canonical human-facing model ID, unique within the provider.
     */
    'id': string;
    /**
     * LLM provider identifier.
     */
    'provider': string;
    /**
     * Model family grouping.
     */
    'family': string;
    /**
     * Human-readable model name.
     */
    'display_name': string;
    'limits': ModelLimits;
    /**
     * Training data cutoff date (YYYY-MM-DD).
     */
    'training': string | null;
    /**
     * Public knowledge cutoff label, if known.
     */
    'knowledge_cutoff': string | null;
    'features': ModelFeatures;
    'controls': ModelControls;
    'costs': ModelCosts;
    /**
     * Estimated output tokens per second.
     */
    'estimated_output_tps': number | null;
    /**
     * Alternative names that resolve to this model.
     */
    'aliases': Array<string>;
    /**
     * Whether this is the default model for its provider.
     */
    'default': boolean;
    /**
     * Whether this is the provider\'s small/default utility model.
     */
    'small_default': boolean;
    /**
     * Whether credential material is present for this model\'s provider on the server (vault entry or environment variable). Does NOT imply the credential is valid or that requests will succeed; call `POST /models/{id}/test` to verify usability.
     */
    'configured': boolean;
}
