import { type SeedTrustBoundaryEnvelope } from "../content-security/index.js";
import { type SeedPolicyAuditResult } from "../policy-audit/index.js";
export type SeedMediaInspectionStatus = "inspected" | "unsupported" | "not_found" | "blocked" | "external_untrusted";
export type SeedMediaContentOrigin = "local_file" | "external_url" | "browser_snapshot";
export type SeedMediaContentTrust = "local_checked" | "external_untrusted" | "browser_snapshot_untrusted";
export type SeedMediaSource = {
    input: string;
    type: "local_file" | "external_url";
    trust: "local_checked" | "external_untrusted";
    resolved_path?: string;
    url?: string;
    safe_roots?: string[];
};
export type SeedMediaPromptInjectionRisk = {
    content_untrusted: boolean;
    source_untrusted: boolean;
    reason: string;
    handling: string;
};
export type SeedMediaInspection = {
    status: SeedMediaInspectionStatus;
    source: SeedMediaSource;
    question?: string;
    media_type?: "image" | "pdf" | "document" | "browser_snapshot" | "unknown";
    mime_type?: string;
    byte_size?: number;
    sha256?: string;
    modified_at?: string;
    content_origin: SeedMediaContentOrigin;
    content_trust: SeedMediaContentTrust;
    findings: string[];
    prompt_injection_risk: SeedMediaPromptInjectionRisk;
    policy_audit?: SeedPolicyAuditResult;
    trust_boundary?: SeedTrustBoundaryEnvelope;
    browser_snapshot?: SeedBrowserSnapshotSummary;
    linked_artifacts?: SeedMediaLinkedArtifact[];
};
export type SeedBrowserSnapshotSummary = {
    schema_version?: number;
    url?: string;
    title?: string;
    captured_at?: string;
    viewport?: {
        width?: number;
        height?: number;
        device_scale_factor?: number;
    };
    text_chars: number;
    html_chars: number;
    accessibility_chars: number;
    visible_text_chars?: number;
    security?: SeedBrowserSnapshotSecuritySummary;
};
export type SeedBrowserSnapshotSecuritySummary = {
    hidden_elements: number;
    aria_injections: number;
    unsafe_urls: number;
    canary_tokens: number;
};
export type SeedMediaLinkedArtifact = {
    role: "screenshot";
    input: string;
    status: "inspected" | "unsupported" | "not_found" | "blocked";
    resolved_path?: string;
    mime_type?: string;
    byte_size?: number;
    sha256?: string;
    findings: string[];
};
export declare function inspectSeedMedia(input: {
    pathOrUrl: string;
    question?: string;
    cwd: string;
}): Promise<SeedMediaInspection>;
export declare function formatMediaInspectionEvidence(inspection: SeedMediaInspection, artifactRef?: string): string;
