/**
 * Sandbox-report transport layer. Mirrors
 * `src/services/feedback_transport_{local,http}.ts`.
 *
 * Submission flow:
 *   1. `sanitizeInput` normalises + truncates description to guard against
 *      outsize payloads.
 *   2. `scanAndRedact` strips emails/phones/tokens/UUIDs from the description
 *      before any durable write.
 *   3. The local transport writes a `LocalSandboxReportRecord`; the HTTP
 *      transport POSTs to `NEOTOMA_SANDBOX_REPORT_FORWARD_URL` (typically the
 *      agent-site Netlify function), authenticated with a shared bearer.
 *   4. Both transports return a `SandboxReportSubmitResponse` with an
 *      access_token for status lookups.
 */
import type { SandboxReportStatusResponse, SandboxReportSubmitResponse, SandboxReportTransport, SubmitSandboxReportArgs } from "./types.js";
export declare class LocalSandboxReportTransport implements SandboxReportTransport {
    private readonly storePath?;
    constructor(storePath?: string | undefined);
    private store;
    submit(rawArgs: SubmitSandboxReportArgs, submitterIp: string): Promise<SandboxReportSubmitResponse>;
    status(accessToken: string): Promise<SandboxReportStatusResponse>;
}
export declare class HttpSandboxReportTransport implements SandboxReportTransport {
    private readonly forwardUrl;
    private readonly bearer;
    private readonly fetchImpl;
    constructor(forwardUrl: string, bearer: string, fetchImpl?: typeof fetch);
    submit(rawArgs: SubmitSandboxReportArgs, submitterIp: string): Promise<SandboxReportSubmitResponse>;
    status(accessToken: string): Promise<SandboxReportStatusResponse>;
}
export declare function resolveSandboxReportTransport(): SandboxReportTransport;
//# sourceMappingURL=transport.d.ts.map