import type { EnvVar, PushConfig, HushCompactRecord, HushContext, HushFileDocument, HushResolvedNode, HushTargetDefinition, HushTargetResolution, HushV3Repository, StoreContext } from '../types.js'; export declare const DEFAULT_V3_FILE_PATHS: { readonly shared: "env/project/shared"; readonly development: "env/project/development"; readonly production: "env/project/production"; readonly local: "env/project/local"; }; export declare const LOCAL_OVERRIDE_FILENAME = "local-overrides.encrypted"; export declare const DEFAULT_PERSISTED_OUTPUT_DIRNAME = ".hush-materialized"; type FileKey = keyof typeof DEFAULT_V3_FILE_PATHS; export interface V3TargetRuntimeSelection { repository: HushV3Repository; targetName: string; target: HushTargetDefinition; activeIdentity: string; } export interface V3ResolvedEnvView extends V3TargetRuntimeSelection { resolution: HushTargetResolution; envVars: EnvVar[]; env: Record; files: string[]; logicalPaths: string[]; localOverrideFile?: string; } interface V3DeploymentContext { cwd: string; pushTo?: PushConfig | null; } export declare function requireV3Repository(store: StoreContext, commandName: string): HushV3Repository; export declare function createMigrationOnlyCommandError(commandName: string): Error; export declare function selectRuntimeTarget(repository: HushV3Repository, requestedTarget?: string): { targetName: string; target: HushTargetDefinition; }; export declare function selectRuntimeTargetForCommand(repository: HushV3Repository, store: StoreContext, command: { name: string; args: string[]; }, requestedTarget?: string, currentWorkingDirectory?: string): { targetName: string; target: HushTargetDefinition; }; export declare function resolveTargetDeploymentContext(store: StoreContext, repository: HushV3Repository, targetName: string): V3DeploymentContext; export declare function getMachineLocalOverridePath(store: StoreContext): string; export declare function loadMachineLocalOverrides(ctx: HushContext, store: StoreContext): HushFileDocument | null; export declare function writeMachineLocalOverrides(ctx: HushContext, store: StoreContext, document: HushFileDocument): string; export declare function ensureEditableFileDocument(ctx: HushContext, store: StoreContext, repository: HushV3Repository, fileKey: FileKey): { document: HushFileDocument; filePath: string; systemPath: string; scope: 'repository' | 'machine-local'; }; export declare function setEnvValueInDocument(document: HushFileDocument, key: string, value: string): HushFileDocument; export declare function writeEditableFileDocument(ctx: HushContext, store: StoreContext, repository: HushV3Repository, systemPath: string, document: HushFileDocument): void; export declare function openEditor(ctx: HushContext, systemPath: string, editorOverride?: string): void; export declare function validateEditedFileDocument(ctx: HushContext, systemPath: string): HushFileDocument; export declare function openEncryptedDocumentEditor(ctx: HushContext, store: StoreContext, systemPath: string, repository?: HushV3Repository, editorOverride?: string): HushFileDocument; export declare function resolveTargetEnvView(ctx: HushContext, store: StoreContext, requestedTarget: string | undefined, command: { name: string; args: string[]; }): V3ResolvedEnvView; export declare function toCompactRecord(key: string, target: string, node: Pick): HushCompactRecord; export declare function formatCompactRecord(record: HushCompactRecord): string; export declare function appendCommandReadAudit(ctx: HushContext, store: StoreContext, view: Pick, command: { name: string; args: string[]; }): void; export declare function requireMutableIdentity(ctx: HushContext, store: StoreContext, repository: HushV3Repository, command: { name: string; args: string[]; }): string; export declare function readCurrentIdentity(ctx: HushContext, store: StoreContext): string | undefined; export declare function formatDuplicateKeyHint(key: string, files: string[], target: string): string; export {}; //# sourceMappingURL=v3-command-helpers.d.ts.map