import type { PolicyOperationId } from "./policy.js";
export declare const SESSION_POLICY_SCHEMA_VERSION: 1;
export type SessionPolicyGrant = {
    rationale: string;
    grantedAt: string;
};
export type SessionPolicyDocument = {
    schemaVersion: typeof SESSION_POLICY_SCHEMA_VERSION;
    /** Logical session id (override with WORKSPACE_KIT_SESSION_ID). */
    sessionId: string;
    /** Active grants for sensitive operations within this session file. */
    grants: Partial<Record<PolicyOperationId, SessionPolicyGrant>>;
};
export declare function resolveSessionId(env: NodeJS.ProcessEnv): string;
export declare function loadSessionPolicyDocument(workspacePath: string, effectiveConfig?: Record<string, unknown>): Promise<SessionPolicyDocument>;
export declare function saveSessionPolicyDocument(_workspacePath: string, _doc: SessionPolicyDocument): Promise<void>;
export declare function getSessionGrant(workspacePath: string, operationId: PolicyOperationId, sessionId: string, effectiveConfig?: Record<string, unknown>): Promise<SessionPolicyGrant | undefined>;
export declare function recordSessionGrant(workspacePath: string, operationId: PolicyOperationId, sessionId: string, rationale: string, effectiveConfig?: Record<string, unknown>): Promise<void>;
