export type RaxBuildInitPreset = "minimal" | "fullstack" | "custom";
export type RaxBuildInitOptions = {
    preset: RaxBuildInitPreset;
    projectName: string;
    targetDir: string;
    agentId?: string;
    modelName?: string;
    sandboxProfile?: "hostObserved" | "workspaceOnly" | "linuxBubblewrap" | "rootlessContainer";
    toolPolicyProfile?: "standard" | "permissive" | "restricted" | "yolo" | "bapr";
    includeGitTools?: boolean;
    includeShellTools?: boolean;
    includeInterfaceSurface?: boolean;
    sessionPersistence?: "memory" | "sqlite";
};
export type RaxBuildInitFile = {
    path: string;
    content: string;
};
export type RaxBuildInitPlan = {
    preset: RaxBuildInitPreset;
    projectName: string;
    targetDir: string;
    files: readonly RaxBuildInitFile[];
    directories: readonly string[];
    nextCommands: readonly string[];
};
export type RaxBuildInitResult = {
    ok: true;
    plan: RaxBuildInitPlan;
    writtenFiles: readonly string[];
    events: readonly string[];
} | {
    ok: false;
    error: {
        code: "MISSING_PROJECT_NAME" | "MISSING_TARGET_DIR" | "WRITE_FAILED";
        message: string;
        publicSafe: true;
    };
    events: readonly string[];
};
export declare function createRaxBuildInitPlan(input: RaxBuildInitOptions): RaxBuildInitPlan;
export declare function applyRaxBuildInitPlan(plan: RaxBuildInitPlan): Promise<RaxBuildInitResult>;
export declare function initRaxProject(input: RaxBuildInitOptions): Promise<RaxBuildInitResult>;
