import { type SanitizedWorkflowTraceEnvelopeResult, type SanitizeWorkflowTraceEnvelopeOptions } from './sanitize';
import { type WorkflowExecutionSummary } from './summary';
import type { WorkflowTraceEnvelope, WorkflowTraceExportLinks } from './types';
export type WorkflowTraceIntelligenceEnvelopeVersion = 'workflow-trace-intelligence-envelope-v1';
export type WorkflowTraceExportGrantScope = 'workflow-trace:export' | 'workflow-trace:read' | '*';
export type WorkflowTraceExportGrantSubject = 'product' | 'partner' | 'tenant';
export interface WorkflowTraceExportGrant {
    grantId: string;
    subject: WorkflowTraceExportGrantSubject;
    subjectId: string;
    scopes: readonly WorkflowTraceExportGrantScope[];
    grantedAt?: string;
    expiresAt?: string;
    metadata?: Record<string, unknown>;
}
export interface WorkflowTraceHashEvidence {
    path: string;
    sha256: string;
    shape?: unknown;
}
export interface WorkflowTraceArtifactEvidence {
    kind: string;
    uri: string;
    contentType?: string;
    sha256?: string;
}
export interface WorkflowTraceCompactEvidence {
    eventKinds: Record<string, number>;
    phases: string[];
    toolNames: string[];
    redactedHashes: WorkflowTraceHashEvidence[];
    artifacts: WorkflowTraceArtifactEvidence[];
    failureMessage?: string;
}
export interface WorkflowTraceIntelligenceEnvelope {
    schemaVersion: WorkflowTraceIntelligenceEnvelopeVersion;
    destination: string;
    generatedAt: string;
    productId: string;
    partnerId?: string;
    runId: string;
    grantIds: string[];
    traceEnvelope: WorkflowTraceEnvelope;
    summary: WorkflowExecutionSummary;
    compactEvidence: WorkflowTraceCompactEvidence;
    sanitization: SanitizedWorkflowTraceEnvelopeResult['report'];
    links?: WorkflowTraceExportLinks;
}
export interface BuildWorkflowTraceIntelligenceEnvelopeOptions {
    envelope: WorkflowTraceEnvelope | unknown;
    productId: string;
    partnerId?: string;
    grants: readonly WorkflowTraceExportGrant[];
    generatedAt?: string;
    destination?: string;
    sanitize?: SanitizeWorkflowTraceEnvelopeOptions;
    links?: WorkflowTraceExportLinks;
    metadata?: Record<string, unknown>;
}
export declare function buildWorkflowTraceIntelligenceEnvelope(options: BuildWorkflowTraceIntelligenceEnvelopeOptions): WorkflowTraceIntelligenceEnvelope;
export declare function validateWorkflowTraceIntelligenceEnvelope(input: unknown): WorkflowTraceIntelligenceEnvelope;
//# sourceMappingURL=intelligence-export.d.ts.map