/**
 * Copyright 2025 Adobe
 * All Rights Reserved.
 *
 * NOTICE: Adobe permits you to use, modify, and distribute this file in
 * accordance with the terms of the Adobe license agreement accompanying
 * it.
 */
/**
 * Settings configuration for C2PA operations.
 *
 * Encapsulates settings and configuration options for Reader and Builder operations.
 * It provides a flexible way to configure SDK behavior including the verification configuration,
 * trust configuration, and builder options.
 *
 * @example
 * ```typescript
 * const context: Context = {
 *   verify: {
 *     verifyTrust: true,
 *     verifyAfterReading: true
 *   },
 *   trust: {
 *     trustAnchors: 'https://example.com/anchors.pem'
 *   }
 * };
 *
 * const reader = await c2pa.reader.fromBlob(blob.type, blob, JSON.stringify(context));
 * ```
 */
export interface Settings {
    /**
     * Trust configuration for C2PA claim validation.
     */
    trust?: TrustSettings;
    /**
     * Trust configuration for CAWG identity validation.
     */
    cawgTrust?: CawgTrustSettings;
    /**
     * Verification settings.
     */
    verify?: VerifySettings;
    /**
     * Builder settings.
     */
    builder?: BuilderSettings;
}
export interface TrustSettings {
    /**
     * "User" trust anchors. Any asset validated off of this trust list will will have a "signingCredential.trusted" result with an explanation noting the trust source is a "User" anchor.
     *
     * Possible values are: the text content of a .pem file, a URL to fetch a .pem file from, or an array of URLs that will be fetched and concatenated.
     */
    userAnchors?: string | string[];
    /**
     * "System" trust anchors. Any asset validated off of this trust list will will have a "signingCredential.trusted" result with an explanation noting the trust source is a "System" anchor.
     *
     * Possible values are: the text content of a .pem file, a URL to fetch a .pem file from, or an array of URLs that will be fetched and concatenated.
     */
    trustAnchors?: string | string[];
    /**
     * Trust store
     *
     * Possible values are: the text content of a .cfg file, a URL to fetch a .cfg file from, or an array of URLs that will be fetched and concatenated.
     */
    trustConfig?: string | string[];
    /**
     * End-entity certificates.
     *
     * Possible values are: the text content of a end-entity cert file, a URL to fetch a end-entity cert file from, or an array of URLs that will be fetched and concatenated.
     */
    allowedList?: string | string[];
}
export interface CawgTrustSettings extends TrustSettings {
    /**
     * Enable CAWG trust validation. The default value is "true."
     */
    verifyTrustList?: boolean;
}
export interface VerifySettings {
    /**
     * Enable trust validation. The default value is "true."
     */
    verifyTrust?: boolean;
    verifyAfterReading?: boolean;
}
export interface BuilderSettings {
    /**
     * Whether to generate a C2PA archive (instead of zip) when writing the manifest builder.
     */
    generateC2paArchive?: boolean;
}
/**
 * Resolves any trust list URLs and serializes the resulting object into a JSON string of the structure expected by c2pa-rs.
 * Will merge any provided values on top of the default settings.
 *
 * @param settings Settings configuration object
 * @returns A JSON-serialized string containing all resolved settings values, ready to be consumed by c2pa-rs.
 */
export declare function settingsToWasmJson(settings: Settings): Promise<string>;
//# sourceMappingURL=settings.d.ts.map