import type { ExecApprovalDecision } from "./exec-approvals.js";
export type PluginApprovalRequestPayload = {
    pluginId?: string | null;
    title: string;
    description: string;
    severity?: "info" | "warning" | "critical" | null;
    toolName?: string | null;
    toolCallId?: string | null;
    agentId?: string | null;
    sessionKey?: string | null;
    turnSourceChannel?: string | null;
    turnSourceTo?: string | null;
    turnSourceAccountId?: string | null;
    turnSourceThreadId?: string | number | null;
};
export type PluginApprovalRequest = {
    id: string;
    request: PluginApprovalRequestPayload;
    createdAtMs: number;
    expiresAtMs: number;
};
export type PluginApprovalResolved = {
    id: string;
    decision: ExecApprovalDecision;
    resolvedBy?: string | null;
    ts: number;
    request?: PluginApprovalRequestPayload;
};
export declare const DEFAULT_PLUGIN_APPROVAL_TIMEOUT_MS = 120000;
export declare const MAX_PLUGIN_APPROVAL_TIMEOUT_MS = 600000;
export declare const PLUGIN_APPROVAL_TITLE_MAX_LENGTH = 80;
export declare const PLUGIN_APPROVAL_DESCRIPTION_MAX_LENGTH = 256;
export declare function approvalDecisionLabel(decision: ExecApprovalDecision): string;
export declare function buildPluginApprovalRequestMessage(request: PluginApprovalRequest, nowMsValue: number): string;
export declare function buildPluginApprovalResolvedMessage(resolved: PluginApprovalResolved): string;
export declare function buildPluginApprovalExpiredMessage(request: PluginApprovalRequest): string;
