import { Command } from "commander"; export interface StateKeyWarning { key: string; problem: string; } /** * Runtime-registered state keys with no `data-graphit-state` wrapper behind them. * * Advisory, and it runs BEFORE the upload: the same shape the server refuses when * the key is new to the page, so an author hears it from their own terminal * instead of from a 400. Whole-page input only - `update-entity` sends a fragment * whose keys may well be declared elsewhere on the page, and linting that would * report every one of them as undeclared. */ export declare function lintUndeclaredStateKeys(html: string): StateKeyWarning[]; /** * The single pre-defined directory for the agent's local working artifacts * (exported PNG/PDF, scratch HTML, throwaway SQL). Ephemeral: the platform * dashboard is the source of truth. cwd-relative, distinct from the * `~/.graphit/` credential store. */ export declare const ARTIFACTS_DIR = ".graphit"; /** * Resolve the export output path. An explicit `--output` always wins, verbatim. * Otherwise the file defaults into the working-artifacts dir, keeping the * server-suggested filename when present (basename'd so a hostile * Content-Disposition cannot escape the dir) and falling back to a * deterministic `dashboard-.`. */ export declare function resolveExportPath(output: string | undefined, filename: string | null | undefined, id: string, fmt: string): { path: string; defaulted: boolean; }; /** * Create the working-artifacts dir and drop a self-ignoring `.gitignore` (`*`) * so its ephemeral contents never get committed. Idempotent; never clobbers an * existing `.gitignore`. Called only on the defaulted (no `--output`) branch. */ export declare function ensureArtifactsDir(dir: string): Promise; export declare function filterDashboardsByView>(dashboards: T[], view: string | undefined, myId: string): T[]; export declare function registerDashboardCommands(program: Command): void;