/**
 * @license
 * Copyright 2026 Amodal Labs, Inc.
 * SPDX-License-Identifier: MIT
 */
export declare const EMBED_CONFIG_FILE_PATH = "amodal.json";
export declare const EMBED_CONFIG_API_PATH = "/api/embed-config";
export declare const EMBED_POSITIONS: readonly ["floating", "right", "bottom", "inline"];
export type EmbedPosition = typeof EMBED_POSITIONS[number];
export declare const EMBED_SCOPE_MODES: readonly ["optional", "required"];
export type EmbedScopeMode = typeof EMBED_SCOPE_MODES[number];
export interface EmbedThemeConfig {
    headerText: string;
    placeholder: string;
    emptyStateText: string;
    primaryColor: string;
    mode: 'light' | 'dark' | 'auto';
}
export interface EmbedConfig {
    enabled: boolean;
    position: EmbedPosition;
    defaultOpen: boolean;
    historyEnabled: boolean;
    showFeedback: boolean;
    verboseTools: boolean;
    scopeMode: EmbedScopeMode;
    allowedDomains: string[];
    theme: EmbedThemeConfig;
}
export interface EmbedConfigResponse {
    config: EmbedConfig;
    source: 'default' | 'file' | 'draft';
    snippet: string;
}
export interface EmbedConfigSaveRequest {
    config: EmbedConfig;
}
export interface EmbedConfigSaveResponse extends EmbedConfigResponse {
    draftPath: typeof EMBED_CONFIG_FILE_PATH;
}
export declare const DEFAULT_EMBED_CONFIG: EmbedConfig;
export interface SnippetInput {
    config: EmbedConfig;
    serverUrl: string;
}
export declare class EmbedConfigError extends Error {
    constructor(message: string, options?: ErrorOptions);
}
export declare function normalizeEmbedConfig(value: unknown): EmbedConfig;
export declare function parseAmodalJson(content: string): Record<string, unknown>;
export declare function readEmbedConfigFromAmodalJson(content: string): EmbedConfig;
export declare function writeEmbedConfigToAmodalJson(content: string, config: EmbedConfig): string;
export declare function buildEmbedSnippet(input: SnippetInput): string;
