import type { OpenCodeClient } from "./opencode-client"; export interface ModelReference { providerID: string; modelID: string; } /** Identity comes only from the host's explicit message fields. */ export declare function sessionIDFor(messages: unknown[]): string | undefined; /** Compaction can reorder history. Match the host's created-time/ID ordering. */ export declare function modelFor(messages: unknown[]): ModelReference | undefined; /** * Resolve configured limits for this request, after the host has initialized * its provider service. The SDK wrapper is deliberate: missing/error response * data never falls back to a catalog or a previous request's model. * This budget reserves output but does not count later system/tool additions. */ export declare function inputBudgetFor(client: OpenCodeClient, reference: ModelReference, maximumOutput?: number): Promise; /** Ordinary dense writable arrays can be replaced elementwise without setters. */ export declare function canCommitMessages(value: unknown): value is unknown[]; //# sourceMappingURL=request.d.ts.map