import { z } from 'zod'; export declare const TokenPayloadSchema: z.ZodObject<{ sub: z.ZodString; scope: z.ZodEffects]>, string[], string | string[]>; role: z.ZodDefault>; aud: z.ZodUnion<[z.ZodString, z.ZodArray]>; exp: z.ZodNumber; iat: z.ZodNumber; }, "strip", z.ZodTypeAny, { sub: string; scope: string[]; role: "viewer" | "developer" | "admin"; aud: string | string[]; exp: number; iat: number; }, { sub: string; scope: string | string[]; aud: string | string[]; exp: number; iat: number; role?: "viewer" | "developer" | "admin" | undefined; }>; export type TokenPayload = z.infer; export declare const ToolScopeSchema: z.ZodEnum<["read", "write", "exec", "github", "docker", "browser"]>; export type ToolScope = z.infer; export interface UserContext { id: string; role: 'viewer' | 'developer' | 'admin'; scopes: ToolScope[]; } export interface ServerConfig { auth: { provider: 'auth0' | 'okta' | 'entra' | 'none'; clientId?: string; issuerUrl?: string; }; audit: { level: 'debug' | 'info' | 'warn' | 'error'; format: 'json' | 'text'; }; rateLimit: { enabled: boolean; redis?: { host: string; port: number; }; }; } export interface TextContent { type: 'text'; content: string; lines: number; size: number; path: string; } export interface ImageContent { type: 'image'; mimeType: string; data: string; size: number; path: string; width?: number; height?: number; } export interface PdfContent { type: 'pdf'; text: string; metadata: { title: string | null; author: string | null; pageCount: number; producer: string | null; creationDate: string | null; }; size: number; path: string; } export type FileContent = TextContent | ImageContent | PdfContent; //# sourceMappingURL=types.d.ts.map