import type { PermissionIntent } from '../types.js';
/**
 * Resolve the canonical permission intent from a session metadata snapshot.
 *
 * This is shared across UI/CLI so that legacy aliases and persistence rules stay consistent.
 */
export declare function resolvePermissionIntentFromSessionMetadata(metadata: unknown): {
    intent: PermissionIntent;
    updatedAt: number;
} | null;
/**
 * Resolve a nested `{ v: 1, updatedAt, <valueKey>: string }` override from session metadata.
 *
 * Used for fields like:
 * - `metadata.modelOverrideV1 = { v: 1, updatedAt, modelId }`
 * - `metadata.acpSessionModeOverrideV1 = { v: 1, updatedAt, modeId }`
 */
export declare function resolveMetadataStringOverrideV1(metadata: unknown, overrideKey: string, valueKey: string): {
    value: string;
    updatedAt: number;
} | null;
//# sourceMappingURL=metadata.d.ts.map