import { z } from 'zod'; /** * MCP daemon local settings read from the `mcp` key in padua.config.json. * All fields are optional; callers apply defaults at load time. */ export interface McpLocalConfig { /** Listening port for the MCP HTTP server. Default: 8919. */ port?: number; store?: { /** Absolute path to the SQLite token database. Default: ~/.padua/tokens.db */ path?: string; /** Source for the AES-256-GCM encryption key. Default: keychain. */ encryptionKeySource?: 'keychain' | 'env'; }; logging?: { /** Log verbosity level. Default: info. */ level?: 'debug' | 'info' | 'warn' | 'error'; /** Absolute path to the log file. Defaults to stderr when absent. */ path?: string; }; } export declare const McpLocalConfigSchema: z.ZodObject<{ port: z.ZodOptional; store: z.ZodOptional; encryptionKeySource: z.ZodOptional>; }, "strip", z.ZodTypeAny, { path?: string | undefined; encryptionKeySource?: "keychain" | "env" | undefined; }, { path?: string | undefined; encryptionKeySource?: "keychain" | "env" | undefined; }>>; logging: z.ZodOptional>; path: z.ZodOptional; }, "strip", z.ZodTypeAny, { path?: string | undefined; level?: "debug" | "info" | "warn" | "error" | undefined; }, { path?: string | undefined; level?: "debug" | "info" | "warn" | "error" | undefined; }>>; }, "strip", z.ZodTypeAny, { port?: number | undefined; store?: { path?: string | undefined; encryptionKeySource?: "keychain" | "env" | undefined; } | undefined; logging?: { path?: string | undefined; level?: "debug" | "info" | "warn" | "error" | undefined; } | undefined; }, { port?: number | undefined; store?: { path?: string | undefined; encryptionKeySource?: "keychain" | "env" | undefined; } | undefined; logging?: { path?: string | undefined; level?: "debug" | "info" | "warn" | "error" | undefined; } | undefined; }>; /** * OAuth2 credentials and settings for the GitLab provider. * Downloaded from S3 and stored in mcp-providers.json. */ export interface GitLabProviderConfig { /** Base URL of the GitLab instance. HTTPS required. */ baseUrl: string; /** OAuth2 application client ID. */ clientId: string; /** OAuth2 scopes to request. At least one scope must be specified. */ scopes: string[]; /** Local port for the OAuth2 callback server. Default: 18080. */ redirectPort?: number; } export declare const GitLabProviderConfigSchema: z.ZodObject<{ /** z.string().url() validates URL structure; startsWith enforces HTTPS. */ baseUrl: z.ZodString; clientId: z.ZodString; scopes: z.ZodArray; redirectPort: z.ZodOptional; }, "strip", z.ZodTypeAny, { baseUrl: string; clientId: string; scopes: string[]; redirectPort?: number | undefined; }, { baseUrl: string; clientId: string; scopes: string[]; redirectPort?: number | undefined; }>; /** * OAuth2 credentials and settings for the Atlassian provider. * The clientSecret is required because Atlassian uses a confidential client flow. */ export interface AtlassianProviderConfig { /** OAuth2 application client ID. */ clientId: string; /** OAuth2 application client secret. Required for confidential client flow. */ clientSecret: string; /** OAuth2 scopes to request. At least one scope must be specified. */ scopes: string[]; /** Local port for the OAuth2 callback server. Default: 18080. */ redirectPort?: number; } export declare const AtlassianProviderConfigSchema: z.ZodObject<{ clientId: z.ZodString; clientSecret: z.ZodString; scopes: z.ZodArray; redirectPort: z.ZodOptional; }, "strip", z.ZodTypeAny, { clientId: string; scopes: string[]; clientSecret: string; redirectPort?: number | undefined; }, { clientId: string; scopes: string[]; clientSecret: string; redirectPort?: number | undefined; }>; /** * Settings for the Grafana Cloud provider. * An OPTIONAL shared read-only/Viewer-scoped service-account token MAY be * provided here. When present, the daemon uses it directly and `padua login` * skips the interactive prompt for Grafana. The token must never be logged. * When absent, the token is sourced from the encrypted token store as usual. */ export interface GrafanaProviderConfig { /** Base URL of the Grafana Cloud stack. HTTPS required. */ baseUrl: string; /** * Optional shared service-account token (read-only / Viewer-scoped). * When provided, the daemon uses this token instead of the encrypted store, * and `padua login` skips the Grafana prompt. Never log this value. */ token?: string; } export declare const GrafanaProviderConfigSchema: z.ZodObject<{ /** z.string().url() validates URL structure; startsWith enforces HTTPS. */ baseUrl: z.ZodString; token: z.ZodOptional; }, "strip", z.ZodTypeAny, { baseUrl: string; token?: string | undefined; }, { baseUrl: string; token?: string | undefined; }>; /** * Root structure of mcp-providers.json, downloaded from S3. * All provider entries are optional — omit any provider that is not enabled. */ export interface McpProvidersConfig { /** Schema version of the providers file (semver string). */ version: string; providers: { gitlab?: GitLabProviderConfig; atlassian?: AtlassianProviderConfig; grafana?: GrafanaProviderConfig; }; } export declare const McpProvidersConfigSchema: z.ZodObject<{ version: z.ZodString; providers: z.ZodObject<{ gitlab: z.ZodOptional; redirectPort: z.ZodOptional; }, "strip", z.ZodTypeAny, { baseUrl: string; clientId: string; scopes: string[]; redirectPort?: number | undefined; }, { baseUrl: string; clientId: string; scopes: string[]; redirectPort?: number | undefined; }>>; atlassian: z.ZodOptional; redirectPort: z.ZodOptional; }, "strip", z.ZodTypeAny, { clientId: string; scopes: string[]; clientSecret: string; redirectPort?: number | undefined; }, { clientId: string; scopes: string[]; clientSecret: string; redirectPort?: number | undefined; }>>; grafana: z.ZodOptional; }, "strip", z.ZodTypeAny, { baseUrl: string; token?: string | undefined; }, { baseUrl: string; token?: string | undefined; }>>; }, "strip", z.ZodTypeAny, { gitlab?: { baseUrl: string; clientId: string; scopes: string[]; redirectPort?: number | undefined; } | undefined; atlassian?: { clientId: string; scopes: string[]; clientSecret: string; redirectPort?: number | undefined; } | undefined; grafana?: { baseUrl: string; token?: string | undefined; } | undefined; }, { gitlab?: { baseUrl: string; clientId: string; scopes: string[]; redirectPort?: number | undefined; } | undefined; atlassian?: { clientId: string; scopes: string[]; clientSecret: string; redirectPort?: number | undefined; } | undefined; grafana?: { baseUrl: string; token?: string | undefined; } | undefined; }>; }, "strip", z.ZodTypeAny, { version: string; providers: { gitlab?: { baseUrl: string; clientId: string; scopes: string[]; redirectPort?: number | undefined; } | undefined; atlassian?: { clientId: string; scopes: string[]; clientSecret: string; redirectPort?: number | undefined; } | undefined; grafana?: { baseUrl: string; token?: string | undefined; } | undefined; }; }, { version: string; providers: { gitlab?: { baseUrl: string; clientId: string; scopes: string[]; redirectPort?: number | undefined; } | undefined; atlassian?: { clientId: string; scopes: string[]; clientSecret: string; redirectPort?: number | undefined; } | undefined; grafana?: { baseUrl: string; token?: string | undefined; } | undefined; }; }>; //# sourceMappingURL=types.d.ts.map