export type FeedbackCategory = "bug" | "feature" | "general"; export interface FeedbackInput { message: string; category?: FeedbackCategory; email?: string; agent?: string; version?: string; } export interface FeedbackResult { saved: true; category: FeedbackCategory; path: string; } /** * Resolved via getDataDir() rather than homedir() so that it agrees with the * path `skills storage` advertises (native-storage.ts builds `feedbackDbPath` * from getDataDir()). While this read the home directly, setting * $HASNA_SKILLS_DIR made the reported path and the written path diverge - the * CLI would name a database it was not using. */ export declare function getFeedbackDbPath(): string; export declare function saveFeedback(input: FeedbackInput): FeedbackResult; /** * True when this install talks to a Skills instance — i.e. a credential resolves * on the shared fleet ladder (lib/fleet-credentials.ts). * * The check never throws: `skills feedback` must not crash because the ladder is * half-configured. A configured authority with no credential is treated as * api mode here on purpose — the operator meant to be hosted, so feedback goes * to the forwardable JSONL file rather than opening a local database that the * hosted install has no business creating. */ export declare function isApiMode(env?: Record): boolean;