import type { RequestOptions } from "../base-client";
import type { RequestBuilder } from "../request-builder";
/** Performance tier classification based on model pricing. */
export type ModelTier = "high_performance" | "standard" | "economy";
/** Model information returned by the catalog API. */
export interface ModelInfo {
    /** OpenRouter model ID (e.g., "anthropic/claude-sonnet-4"). */
    id: string;
    /** Human-readable model name. */
    name: string;
    /** Maximum context window size in tokens. */
    context_length: number;
    /** Performance tier classification. */
    tier: ModelTier;
    /** Model capabilities (e.g., "vision", "long_context"). */
    capabilities: string[];
    /** Model categories (e.g., "general", "reasoning", "coding"). */
    categories: string[];
}
/** Options for filtering the model catalog listing. */
export interface ListModelsOptions {
    /** Filter by performance tier. */
    tier?: ModelTier;
    /** Filter by category (e.g., "reasoning", "coding"). */
    category?: string;
}
/**
 * Models namespace factory (admin/ISV surface).
 *
 * Provides read-only access to the platform model catalog with tier
 * classification. Pricing data is intentionally excluded.
 *
 * @param rb - The request builder used for API communication.
 * @returns Models namespace with `list` and `get`.
 */
export declare function createModelsNamespace(rb: RequestBuilder): {
    /**
     * List available models with tier classification.
     *
     * @param options - Optional filters for tier and category.
     * @param reqOptions - Optional request options.
     * @returns Array of available models.
     *
     * @example
     * ```typescript
     * const admin = new GptAdmin({ apiKey: 'sk_srv_...' });
     *
     * // All models
     * const models = await admin.models.list();
     *
     * // Filter by tier
     * const standard = await admin.models.list({ tier: "standard" });
     * ```
     */
    list(options?: ListModelsOptions, reqOptions?: RequestOptions): Promise<ModelInfo[]>;
    /**
     * Get a single model by ID.
     *
     * @param modelId - The model ID (e.g., "anthropic/claude-sonnet-4").
     *   Do NOT URL-encode — model IDs contain literal slashes.
     * @param reqOptions - Optional request options.
     * @returns Model details with tier classification.
     *
     * @example
     * ```typescript
     * const model = await admin.models.get("anthropic/claude-sonnet-4");
     * console.log(model.tier); // "high_performance"
     * ```
     */
    get(modelId: string, reqOptions?: RequestOptions): Promise<ModelInfo>;
};
//# sourceMappingURL=models.d.ts.map