/**
 * src/approval/types.ts
 * Approval Workflow Types — Ask before running dangerous tools
 */
import { z } from 'zod';
export declare const approvalRequestSchema: z.ZodObject<{
    id: z.ZodString;
    tenant_id: z.ZodString;
    session_id: z.ZodNullable<z.ZodString>;
    tool_name: z.ZodString;
    tool_args: z.ZodAny;
    reason: z.ZodString;
    risk_level: z.ZodEnum<{
        low: "low";
        medium: "medium";
        high: "high";
        critical: "critical";
    }>;
    status: z.ZodEnum<{
        pending: "pending";
        expired: "expired";
        approved: "approved";
        denied: "denied";
    }>;
    requested_by: z.ZodString;
    approved_by: z.ZodNullable<z.ZodString>;
    approved_at: z.ZodNullable<z.ZodString>;
    expires_at: z.ZodString;
    created_at: z.ZodString;
}, z.core.$strip>;
export type ApprovalRequest = z.infer<typeof approvalRequestSchema>;
export interface ApprovalDecision {
    approved: boolean;
    reason?: string;
    conditional?: boolean;
    modifiedArgs?: Record<string, any>;
}
export interface PendingApproval {
    requestId: string;
    toolName: string;
    args: Record<string, any>;
    reason: string;
    riskLevel: string;
    expiresAt: string;
}
//# sourceMappingURL=types.d.ts.map