export declare const CONFIG_KINDS: readonly ["file", "reference"]; export type ConfigKind = (typeof CONFIG_KINDS)[number]; export declare const CONFIG_CATEGORIES: readonly ["agent", "rules", "mcp", "shell", "secrets_schema", "workspace", "git", "tools"]; export type ConfigCategory = (typeof CONFIG_CATEGORIES)[number]; export declare const CONFIG_AGENTS: readonly ["claude", "codex", "gemini", "opencode", "cursor", "codewith", "aicopilot", "zsh", "git", "npm", "global"]; export type ConfigAgent = (typeof CONFIG_AGENTS)[number]; export declare const CONFIG_TRANSFORMS: readonly ["passthrough", "claude-passthrough", "codex-flat", "opencode-flat", "cursor-mdc", "skill-neutral"]; export type ConfigTransform = (typeof CONFIG_TRANSFORMS)[number]; export interface ConfigOutput { agent: ConfigAgent; target_path: string; transform: ConfigTransform; } export declare const CONFIG_FORMATS: readonly ["text", "json", "toml", "yaml", "markdown", "ini"]; export type ConfigFormat = (typeof CONFIG_FORMATS)[number]; export interface Config { id: string; name: string; slug: string; kind: ConfigKind; category: ConfigCategory; agent: ConfigAgent; target_path: string | null; outputs: ConfigOutput[]; format: ConfigFormat; content: string; description: string | null; tags: string[]; is_template: boolean; version: number; created_at: string; updated_at: string; synced_at: string | null; } export interface ConfigRow { id: string; name: string; slug: string; kind: string; category: string; agent: string; target_path: string | null; outputs: string; format: string; content: string; description: string | null; tags: string; is_template: number; version: number; created_at: string; updated_at: string; synced_at: string | null; } export interface CreateConfigInput { name: string; kind?: ConfigKind; category: ConfigCategory; agent?: ConfigAgent; target_path?: string | null; outputs?: ConfigOutput[]; format?: ConfigFormat; content: string; description?: string; tags?: string[]; is_template?: boolean; } export interface UpdateConfigInput { name?: string; kind?: ConfigKind; category?: ConfigCategory; agent?: ConfigAgent; target_path?: string | null; outputs?: ConfigOutput[]; format?: ConfigFormat; content?: string; description?: string; tags?: string[]; is_template?: boolean; synced_at?: string | null; } export interface ConfigFilter { category?: ConfigCategory; agent?: ConfigAgent; kind?: ConfigKind; tags?: string[]; search?: string; is_template?: boolean; } export interface ConfigSnapshot { id: string; config_id: string; content: string; version: number; created_at: string; } export interface Profile { id: string; name: string; slug: string; description: string | null; selectors: ProfileSelector; variables: ProfileVariables; created_at: string; updated_at: string; } export interface ProfileRow { id: string; name: string; slug: string; description: string | null; selectors: string; variables: string; created_at: string; updated_at: string; } export interface ProfileSelector { os?: string[]; arch?: string[]; hostnames?: string[]; } export type ProfileVariables = Record; export interface CreateProfileInput { name: string; description?: string; selectors?: ProfileSelector; variables?: ProfileVariables; } export interface UpdateProfileInput { name?: string; description?: string; selectors?: ProfileSelector; variables?: ProfileVariables; } export interface ProfileConfig { profile_id: string; config_id: string; order: number; } export interface Machine { id: string; hostname: string; os: string | null; arch: string | null; last_applied_at: string | null; created_at: string; } export interface MachineContext extends Machine { os_family: string; home_dir: string; workspace_root: string; bun_bin_dir: string; bun_path: string; path_prefix: string; } export interface ApplyResult { config_id: string; path: string; previous_content: string | null; new_content: string; dry_run: boolean; changed: boolean; agent?: ConfigAgent; transform?: ConfigTransform; outputs?: ApplyResult[]; } export interface SyncResult { added: number; updated: number; unchanged: number; skipped: string[]; } export interface ExportManifest { version: string; exported_at: string; configs: Array>; } export declare class ConfigNotFoundError extends Error { constructor(id: string); } export declare class ProfileNotFoundError extends Error { constructor(id: string); } export declare class ConfigApplyError extends Error { constructor(message: string); } export declare class TemplateRenderError extends Error { constructor(message: string); } //# sourceMappingURL=index.d.ts.map