import React from "react"; import { t } from "structural"; declare const ConfigSchema: t.Struct<{ yourName: t.TypeOf; models: t.Arr>; nickname: t.TypeOf; baseUrl: t.TypeOf; apiEnvVar: t.OptionalKey>; model: t.TypeOf; context: t.TypeOf; reasoning: t.OptionalKey>; }>>; diffApply: t.OptionalKey; apiEnvVar: t.OptionalKey>; model: t.TypeOf; }>>; fixJson: t.OptionalKey; apiEnvVar: t.OptionalKey>; model: t.TypeOf; }>>; defaultApiKeyOverrides: t.OptionalKey>; mcpServers: t.OptionalKey; args: t.OptionalKey>; env: t.OptionalKey>; }>>>; }>; export type Config = t.GetType; export declare const AUTOFIX_KEYS: readonly ["diffApply", "fixJson"]; export declare const ConfigContext: React.Context; models: t.Arr>; nickname: t.TypeOf; baseUrl: t.TypeOf; apiEnvVar: t.OptionalKey>; model: t.TypeOf; context: t.TypeOf; reasoning: t.OptionalKey>; }>>; diffApply: t.OptionalKey; apiEnvVar: t.OptionalKey>; model: t.TypeOf; }>>; fixJson: t.OptionalKey; apiEnvVar: t.OptionalKey>; model: t.TypeOf; }>>; defaultApiKeyOverrides: t.OptionalKey>; mcpServers: t.OptionalKey; args: t.OptionalKey>; env: t.OptionalKey>; }>>>; }>>; export declare function useConfig(): t.UnwrappedTypeStruct<{ yourName: t.TypeOf; models: t.Arr>; nickname: t.TypeOf; baseUrl: t.TypeOf; apiEnvVar: t.OptionalKey>; model: t.TypeOf; context: t.TypeOf; reasoning: t.OptionalKey>; }>>; diffApply: t.OptionalKey; apiEnvVar: t.OptionalKey>; model: t.TypeOf; }>>; fixJson: t.OptionalKey; apiEnvVar: t.OptionalKey>; model: t.TypeOf; }>>; defaultApiKeyOverrides: t.OptionalKey>; mcpServers: t.OptionalKey; args: t.OptionalKey>; env: t.OptionalKey>; }>>>; }>; export declare const ConfigPathContext: React.Context; export declare const SetConfigContext: React.Context<(c: Config) => any>; export declare function useSetConfig(): (c: Config) => Promise; export declare function mergeEnvVar(config: Config, model: Config["models"][number], apiEnvVar: string): { models: t.UnwrappedTypeStruct<{ type: t.OptionalKey>; nickname: t.TypeOf; baseUrl: t.TypeOf; apiEnvVar: t.OptionalKey>; model: t.TypeOf; context: t.TypeOf; reasoning: t.OptionalKey>; }>[]; yourName: string; diffApply?: t.UnwrappedTypeStruct<{ baseUrl: t.TypeOf; apiEnvVar: t.OptionalKey>; model: t.TypeOf; }> | undefined; fixJson?: t.UnwrappedTypeStruct<{ baseUrl: t.TypeOf; apiEnvVar: t.OptionalKey>; model: t.TypeOf; }> | undefined; defaultApiKeyOverrides?: { [key: string]: string; } | undefined; mcpServers?: { [key: string]: t.UnwrappedTypeStruct<{ command: t.TypeOf; args: t.OptionalKey>; env: t.OptionalKey>; }>; } | undefined; }; export declare function mergeAutofixEnvVar(config: Config, key: K, model: Exclude, apiEnvVar: string): { yourName: string; models: t.UnwrappedTypeStruct<{ type: t.OptionalKey>; nickname: t.TypeOf; baseUrl: t.TypeOf; apiEnvVar: t.OptionalKey>; model: t.TypeOf; context: t.TypeOf; reasoning: t.OptionalKey>; }>[]; diffApply?: t.UnwrappedTypeStruct<{ baseUrl: t.TypeOf; apiEnvVar: t.OptionalKey>; model: t.TypeOf; }> | undefined; fixJson?: t.UnwrappedTypeStruct<{ baseUrl: t.TypeOf; apiEnvVar: t.OptionalKey>; model: t.TypeOf; }> | undefined; defaultApiKeyOverrides?: { [key: string]: string; } | undefined; mcpServers?: { [key: string]: t.UnwrappedTypeStruct<{ command: t.TypeOf; args: t.OptionalKey>; env: t.OptionalKey>; }>; } | undefined; }; export declare function writeConfig(c: Config, configPath: string): Promise; export declare function assertKeyForModel(model: { baseUrl: string; apiEnvVar?: string; }, config: Config | null): Promise; export declare function readKeyForModel(model: { baseUrl: string; apiEnvVar?: string; }, config: Config | null): Promise; export declare function writeKeyForModel(model: { baseUrl: string; }, apiKey: string): Promise; export declare function getModelFromConfig(config: Config, modelOverride: string | null): t.UnwrappedTypeStruct<{ type: t.OptionalKey>; nickname: t.TypeOf; baseUrl: t.TypeOf; apiEnvVar: t.OptionalKey>; model: t.TypeOf; context: t.TypeOf; reasoning: t.OptionalKey>; }>; export declare function readConfig(path: string): Promise; export type Metadata = { version: string; }; export declare function readMetadata(): Promise; export {};