/**
 * 명령 실행 전에 보안 정책을 평가하고 차단 여부를 결정하는 파일이다.
 * payload를 정책 엔진에 전달하고 차단 사유를 report/trace 형식으로 정리한다.
 */
import type { CommandSecurityConfig, SecurityValidationPayload } from './types';
import type { TraceLogger } from '../types/app';
import type { StoragePaths } from '../types/index';
/**
 * Security Guard Options를 전달하기 위한 옵션 구조다.
 * hover 정보만으로도 용도와 필드 의미를 파악할 수 있도록 이 선언을 유지한다.
 */
type SecurityGuardOptions = {
    /**
     * 현재 command에 개별적으로 부착된 보안 검사 설정이다.
     */
    config?: CommandSecurityConfig;
    /**
     * 작업 디렉터리 기준 저장 경로 집합
     */
    paths?: StoragePaths;
    /**
     * 실제 보안 검사를 수행할 입력 payload다.
     */
    payload: SecurityValidationPayload;
    /**
     * 차단 report를 저장할 때 사용할 scope 문자열이다.
     */
    reportScope?: string;
    /**
     * 실행 흐름 추적 로거
     */
    trace: TraceLogger;
    /**
     * trace 로그에 함께 남길 command 라벨이다.
     */
    traceLabel: string;
};
/**
 * 기본 보안 규칙을 보장한 뒤 payload를 검사하고,
 * 차단 시 trace와 사용자 메시지를 함께 남긴다.
 */
export declare function guardSecurityPayload(options: SecurityGuardOptions): Promise<{
    ok: true;
} | {
    errorReportPath: string | undefined;
    userMessage: string;
    detail?: import("../types/security").SecurityValidationDetail;
    message: string;
    ok: false;
    ruleName: string;
}>;
export {};
//# sourceMappingURL=guard.d.ts.map