import type { LoadConfigMeta } from "./config.js"; import type { QuotaProvider, QuotaProviderContext } from "./entries.js"; import type { QuotaToastConfig } from "./types.js"; import type { RuntimeContextRootHints, RuntimeContextRoots } from "./config-file-utils.js"; import { loadConfig } from "./config.js"; export type QuotaRuntimeClient = NonNullable[0]> & QuotaProviderContext["client"]; export interface QuotaSessionModelContext { modelID?: string; providerID?: string; } export interface ResolveQuotaRuntimeContextParams { client: QuotaRuntimeClient; roots: RuntimeContextRootHints; config?: QuotaToastConfig; sessionID?: string; sessionMeta?: QuotaSessionModelContext; resolveSessionMeta?: (sessionID: string) => Promise; includeSessionMeta?: boolean | ((config: QuotaToastConfig) => boolean); configMeta?: LoadConfigMeta; providers?: QuotaProvider[]; } export interface QuotaRuntimeContext { client: QuotaRuntimeClient; roots: RuntimeContextRoots; config: QuotaToastConfig; configMeta: LoadConfigMeta; providers: QuotaProvider[]; session: { sessionID?: string; sessionMeta?: QuotaSessionModelContext; }; } export declare function shouldIncludeSessionMeta(params: { config: QuotaToastConfig; includeSessionMeta?: ResolveQuotaRuntimeContextParams["includeSessionMeta"]; }): boolean; export declare function resolveQuotaRuntimeContext(params: ResolveQuotaRuntimeContextParams): Promise; export declare function createQuotaRuntimeRequestContext(runtime: Pick): { sessionID?: string; sessionMeta?: QuotaSessionModelContext; }; export declare function createQuotaProviderRuntimeContext(runtime: Pick & Partial>): QuotaProviderContext; //# sourceMappingURL=quota-runtime-context.d.ts.map