import { z } from "zod"; import { type PrivacyShieldPolicy } from "./privacy.js"; export type PrivacySeam = "gateway" | "hooks" | "sealed"; export declare const PrivacyBypassSchema: z.ZodEnum<{ "own-key": "own-key"; runner: "runner"; runtime: "runtime"; "shared-server": "shared-server"; }>; export type PrivacyBypass = z.infer; export type PrivacyRoute = PrivacySeam | PrivacyBypass; export declare const turnRoute: (privacy: "gateway" | "hooks" | "none", runner?: string) => PrivacyRoute; export interface PrivacyEgress { readonly provider: string; readonly local: boolean; readonly conversationId?: string | undefined; readonly route: PrivacyRoute; } export type PassReason = "off" | "local" | "trusted" | "granted" | "unwatched"; export type ShieldVerdict = { readonly kind: "pass"; readonly because: PassReason; } | { readonly kind: "watch"; } | { readonly kind: "mask"; } | { readonly kind: "refuse"; readonly route: PrivacyBypass; }; export declare const shieldVerdict: (policy: Pick, egress: PrivacyEgress) => ShieldVerdict; export declare const ownerTrusted: (verdict: ShieldVerdict) => boolean; declare const REFUSAL_CODES: readonly ["privacy-unshielded", "privacy-instructions"]; export type PrivacyRefusalCode = (typeof REFUSAL_CODES)[number]; export declare const isPrivacyRefusal: (code: string | undefined) => code is PrivacyRefusalCode; export interface PrivacyRefusal { readonly sentence: string; readonly route?: PrivacyBypass; } export {}; //# sourceMappingURL=privacy-egress.d.ts.map