import type { TrustConfig, VerifyConfig, SettingsContext } from "./types.d.ts";
/**
 * Create a Settings object with trust configuration.
 * @param trustConfig The trust configuration
 * @returns Settings object that can be passed to Reader/Builder
 */
export declare function createTrustSettings(trustConfig: TrustConfig): SettingsContext;
/**
 * Create a settings object with CAWG trust configuration.
 * @param trustConfig The CAWG trust configuration
 * @returns Settings object that can be passed to Reader/Builder
 */
export declare function createCawgTrustSettings(trustConfig: TrustConfig): SettingsContext;
/**
 * Create a settings object with verify configuration.
 * @param verifyConfig The verify configuration
 * @returns Settings object that can be passed to Reader/Builder
 */
export declare function createVerifySettings(verifyConfig: VerifyConfig): SettingsContext;
/**
 * Merge multiple settings objects into one.
 * Later settings override earlier ones.
 * @param settings Settings objects to merge
 * @returns Merged settings object
 */
export declare function mergeSettings(...settings: SettingsContext[]): SettingsContext;
/**
 * Convert a settings object to a JSON string.
 * Converts camelCase keys to snake_case to match the c2pa-rs settings format.
 * @param settings The settings object
 * @returns JSON string representation with snake_case keys
 */
export declare function settingsToJson(settings: SettingsContext): string;
/**
 * Load settings from a TOML or JSON file.
 * @param filePath The path to the settings file
 * @returns Settings as a string (TOML or JSON depending on file extension)
 */
export declare function loadSettingsFromFile(filePath: string): Promise<string>;
/**
 * Load settings from a URL.
 * @param url The URL to fetch the settings from
 * @returns Settings as a string
 */
export declare function loadSettingsFromUrl(url: string): Promise<string>;
