import { Types } from "komodo_client"; import { type AuthInfo } from "mcp-server-framework"; import { type ToolScope } from "../config/scopes.js"; export interface KomodoIdentity extends Record { readonly provider: "google" | "github" | "oidc" | "local"; readonly komodoUserId: string; readonly username: string; readonly komodoJwt: string; readonly isAdmin: boolean; readonly canCreateServers: boolean; readonly canCreateBuilds: boolean; readonly email?: string | undefined; readonly resourcePermissions?: Readonly> | undefined; } export declare const komodoIdentity: import("mcp-server-framework").AuthExtraBinding; export declare function deriveKomodoScopes(user: Types.User, permissions: readonly Types.Permission[]): ToolScope[]; export declare function komodoUserId(user: Types.User): string; export type CreatableResourceType = Exclude; export type CreateVerdict = "allow" | "deny" | "defer"; export declare function canCreateResource(identity: KomodoIdentity | undefined, resourceType: CreatableResourceType): CreateVerdict; export declare function meetsPermissionLevel(have: Types.PermissionLevel, required: Types.PermissionLevel): boolean; export declare function summarizeResourcePermissions(user: Types.User): Record | undefined; export interface KomodoSessionContext { readonly scopes: readonly ToolScope[]; readonly identity: KomodoIdentity; } export declare function buildKomodoContext(komodoUrl: string, jwt: string, provider: KomodoIdentity["provider"]): Promise; export declare function komodoAuthInfo(ctx: KomodoSessionContext, token: string, email?: string): AuthInfo;