declare const SUMI_PATH_KEYS: readonly ["data", "cache", "config", "state"]; export type SumiPathPlan = { schemaVersion: 1; kind: "sumi-paths"; home: string; cwd: string; roots: Record; legacyRoots: Record; configFiles: { canonical: string; legacy: string | null; }; skillRoots: { canonical: string; legacy: string | null; }; }; export declare class SumiPathResolverError extends Error { readonly code: string; constructor(code: string); } /** Resolve native paths through Sumi's dedicated, read-only command. Never * probe the general Sumi CLI: older versions may adopt their home on startup. */ export declare function sumiPathPlan(home: string, cwd?: string, env?: NodeJS.ProcessEnv): SumiPathPlan; export declare function sumiConfigDirectory(home: string, env?: NodeJS.ProcessEnv, cwd?: string): string; export declare function sumiSkillRoots(home: string, cwd?: string, env?: NodeJS.ProcessEnv): string[]; export declare function sumiBridgeRoot(home: string, cwd?: string, env?: NodeJS.ProcessEnv): string; export declare function sumiConfigPath(home: string, cwd?: string, env?: NodeJS.ProcessEnv): string; /** Native V2 plugin, not an OpenCode chat.message factory. Instructions enter * transient request context; prompts and the plugin carry no payload fallback. */ export declare function renderSumiPlugin(command: string, profile: string): string; /** Exact previous generator only: upgrades may replace this owned plugin, never * arbitrary plugin bytes. Native discovery and config checks still run first. */ export declare function isManagedSumiPlugin(text: string | null, command: string, profile: string): boolean; export declare const SUMI_SKILL_PERMISSIONS: readonly [{ readonly action: "skill"; readonly resource: "*"; readonly effect: "deny"; }, { readonly action: "skill"; readonly resource: "skills-cli"; readonly effect: "allow"; }]; export {};