import { type RaxHomeResolution, type RaxPathResolutionError, type RaxWorkspaceResolution } from "./raxPathResolver.js";
import { type RaxStorageLayout } from "./raxStorageLayout.js";
import { type RaxStorageInitPlan, type RaxStorageInitResult } from "./raxStorageInit.js";
export type RaxStorageInitMode = "manual" | "on-run" | "never";
export type StoragePlaneRuntimeInput = {
    cwd?: string;
    raxHome?: string;
    workspaceRoot?: string;
    homeDir?: string;
    env?: Readonly<Record<string, string | undefined>>;
    agentId?: string;
    initMode?: RaxStorageInitMode;
};
export type StoragePlaneRuntime = {
    kind: "praxis.storagePlaneRuntime";
    home: RaxHomeResolution;
    workspace: RaxWorkspaceResolution;
    layout: RaxStorageLayout;
    initPlan: RaxStorageInitPlan;
    initMode: RaxStorageInitMode;
    publicSafe: true;
};
export type StoragePlaneRuntimeResult = {
    ok: true;
    runtime: StoragePlaneRuntime;
    events: readonly string[];
} | {
    ok: false;
    error: RaxPathResolutionError;
    events: readonly string[];
};
export type StoragePlaneRuntimeInitApplyResult = {
    ok: true;
    runtime: StoragePlaneRuntime;
    init: RaxStorageInitResult;
    events: readonly string[];
} | {
    ok: false;
    error: RaxPathResolutionError;
    events: readonly string[];
};
export declare function createStoragePlaneRuntime(input?: StoragePlaneRuntimeInput): StoragePlaneRuntimeResult;
export declare function createAndApplyStoragePlaneRuntime(input?: StoragePlaneRuntimeInput): Promise<StoragePlaneRuntimeInitApplyResult>;
export { resolveRaxHome, resolveRaxWorkspace, type RaxHomeResolution, type RaxPathResolutionError, type RaxPathResolutionErrorCode, type RaxPathResolutionResult, type RaxWorkspaceResolution, } from "./raxPathResolver.js";
export { createRaxStorageLayout, type RaxStorageHomeLayout, type RaxStorageLayout, type RaxStorageLayoutRefs, type RaxStorageWorkspaceLayout, } from "./raxStorageLayout.js";
export { applyRaxStorageInitPlan, planRaxStorageInit, type RaxStorageInitDirectory, type RaxStorageInitPlan, type RaxStorageInitResult, } from "./raxStorageInit.js";
